>백엔드 개발 >PHP 튜토리얼 >javascript - Ajax 반환값 문제

javascript - Ajax 반환값 문제

WBOY
WBOY원래의
2016-09-28 08:54:09898검색

Ajax 요청 코드는 다음과 같습니다.
javascript - Ajax 반환값 문제
php 처리 부분:

javascript - Ajax 반환값 문제
방화범:

javascript - Ajax 반환값 문제
왜 인쇄가 안되나요? ? ?

답글 내용:

Ajax 요청 코드는 다음과 같습니다.
javascript - Ajax 반환값 문제
php 처리 부분:

javascript - Ajax 반환값 문제
방화범:

javascript - Ajax 반환값 문제
왜 인쇄가 안되나요? ? ?

나는 $.post(settings)을 직접 사용하는 것을 선호합니다. (사실 저는 $.ajax(url, settings)을 직접 선호합니다.) 매개변수가 더 명확합니다. 콜백은 $.post()에서 반환한 Promise의 $.ajax() 또는 done()을 통해 설정하므로 구조가 더욱 명확해집니다

<code class="javascript">$.post({
    url: theurl,
    dataType: "json",
    data: {
        tablename: _tbname
    }
}).done(function(jo) {
    // jo 是 javascript object
    // 从后端返回的 JSON 解析而来
    console.log(jo);
});</code>

귀하의 방법을 사용하면 콜백 뒤에 매개변수 "json"을 직접 추가하여 데이터 유형을 나타낼 수도 있습니다

<code>$.post("http://url/", { tablename: _tbname}, function(data) {}, "json");</code>

json_encode($data,JSON_UNESCAPED_UNICODE)

오류가 보고되지 않습니다. Firefox를 다시 시작하고 확인해 보세요.
PS: 응답 헤더 설정 @header("Content-Type:application/json;charset=utf8");
var를 생략할 수 있습니다. json = eval (data);
단계이며 eval을 사용하는 것은 안전하지 않으므로

을 사용하는 것이 좋습니다.
<code>var json = jQuery.parseJSON(data);</code>

크롬 변경(사실 파이어폭스 디버깅이 익숙하지 않아서 익숙해지면 잊어버리세요), 브레이크 포인트 디버깅, 아마 들어갈 길이 없을 것 같습니다. 저는 오랫동안 Firefox를 사용하지 않았으며 이전에 비슷한 문제가 있었던 것으로 어렴풋이 기억합니다. Chrome에서는 오류가 보고되지만 Firefox에서는 보고되지 않습니다. 먼저 중단하시고 방법 진입이 안되면 크롬으로 변경해보세요.

기본적으로 반환되는 데이터는 json 개체가 아닌 문자열입니다. 첫 번째 해결 방법은 요청 매개 변수에 반환 유형을 json으로 지정하고 jquery가 이를 내부적으로 개체로 구문 분석하는 것입니다. json 문자열을 직접 개체로 변환합니다. 예: http://blog.163.com/m13864039...

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.