>  기사  >  백엔드 개발  >  서버에서 json 데이터를 가져오는 jquery 관련 문제

서버에서 json 데이터를 가져오는 jquery 관련 문제

WBOY
WBOY원래의
2016-09-08 08:44:041047검색

동일한 ajax 메소드가 다른 PHP에서 반환된 json 데이터를 요청합니다. 하나는 값을 가질 수 있고 다른 하나는 값이 없다는 것이 이상합니다. 다음은 반환 데이터를 수신하는 Ajax 메소드의 처리입니다

<code>function getUpList(_url, _u, _p){
    $.ajax({
        type:"GET",
        data:$.param({uid:_u, page:_p}),
        url:_url,
        dataType:'json',
        success:function(obj){
            alert(obj.status);
            if(obj.status == 1){
                $('div[name="data-list-p"]').append(obj.html);
            }
        }
    });
}</code>

obj로 얻은 데이터가 실제로 json 형식이라고 확신합니다. 그러나 경고는 항상 정의되지 않아 매우 혼란스럽습니다.

답글 내용:

동일한 ajax 메소드가 다른 PHP에서 반환된 json 데이터를 요청합니다. 하나는 값을 가질 수 있고 다른 하나는 값이 없다는 것이 이상합니다. 다음은 반환 데이터를 수신하는 Ajax 메소드의 처리입니다

<code>function getUpList(_url, _u, _p){
    $.ajax({
        type:"GET",
        data:$.param({uid:_u, page:_p}),
        url:_url,
        dataType:'json',
        success:function(obj){
            alert(obj.status);
            if(obj.status == 1){
                $('div[name="data-list-p"]').append(obj.html);
            }
        }
    });
}</code>

obj로 얻은 데이터가 실제로 json 형식이라고 확신합니다. 그러나 경고는 항상 정의되지 않아 매우 혼란스럽습니다.

참 신기하네요 질문자님, 요청하신 두 데이터가 표준 json 데이터인 게 확실하신가요! 모두 표준이면 undefined가 표시되지 않아야 합니다. eval을 추가해 보세요!

<code>success:function(obj){
    obj = eval("("+obj+")");
    alert(obj.status);
    if(obj.status == 1){
        $('div[name="data-list-p"]').append(obj.html);
    }
}</code>

데이터를 받으셨나요? 크롬 콘솔에서 확인하실 수 있습니다

두 URL에서 반환된 데이터 형식이 잘못되었나요? json이 표준이 아닌지 확인하세요

JSON 형식이 아니라 JSON 字符串 형식으로 반환해야 합니다.

형식으로 변환하세요.

Chrome과 Firefox 모두 반환된 매개변수를 볼 수 있습니다. 매우 좋은 확인입니다! ~
성급하게 .status를 출력하지 마세요. 먼저 전체 obj를 출력한 후 결과를 살펴보는 것이 좋습니다~!

php에서 json을 반환하는 코드를 동일하게 변경하고 살펴보세요

흠. 나는 또한 당신이 얻은 것이 json 데이터라고 확신합니다. 그러나 이 obj에는 실제로 status 속성이 있습니까?


console.log(obj); 이렇게 콘솔로 보시는 것이 더 편리할 것 같습니다.

<code class="javascript">var obj_json =  JSON.parse(obj);</code>

문자열이 json이 됩니다

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