javascript - Ajax 프롬프트 개체에서 반환된 데이터가 왜 발생합니까?

WBOY
풀어 주다: 2016-09-29 09:33:02
원래의
1058명이 탐색했습니다.

실행 후 프롬프트 결과에 특정 데이터 대신 [object Object], [object Object]가 표시되는 이유는 무엇입니까?
결과는 다음과 같아야 합니다. [{title: "3333333333333"}, {title: "3333333333333"}]
그런 다음 다시 시도했습니다. alert(obj.title) 정의되지 않음이라고 나오는 이유는 무엇입니까?

<code>$res=$xiao->field("title")->select();
$this->ajaxReturn($res);


ajax("{:U('zhuye/zhuye')}",oV1,function(str){
   var obj = eval("("+str+")");
   alert(obj);
});</code>
로그인 후 복사
로그인 후 복사

답글 내용:

실행 후 프롬프트 결과에 특정 데이터 대신 [object Object], [object Object]가 표시되는 이유는 무엇입니까?
결과는 다음과 같아야 합니다. [{title: "3333333333333"}, {title: "3333333333333"}]
그런 다음 다시 시도했습니다. alert(obj.title) 정의되지 않음이라고 나오는 이유는 무엇입니까?

<code>$res=$xiao->field("title")->select();
$this->ajaxReturn($res);


ajax("{:U('zhuye/zhuye')}",oV1,function(str){
   var obj = eval("("+str+")");
   alert(obj);
});</code>
로그인 후 복사
로그인 후 복사

jquery를 사용하여 문제를 해결하세요. 자세한 내용은 설명서를 읽어보세요

obj는 객체가 아닌 두 객체의 배열입니다

해 보세요alert(obj[0].title); alert(obj[1].title);

해 보세요. 말씀하신 배열 형태가 나와야 합니다.

<code>var obj = JSON.parse(str)

alert(obj);</code>
로그인 후 복사

반환 데이터 유형 dataType:json을 추가하세요

인쇄해서 확인해 보세요. . . .

해야

<code>   alert(obj[0].title);
</code>
로그인 후 복사

귀하의 데이터는 이미 개체입니다. eval 또는 JSON.prase인 경우 obj.toString()을 호출합니다.

JavaScript 리터럴 객체와 json의 차이점을 살펴보면 문제가 무엇인지 알 수 있습니다.

반환 유형이 json 형식이 아닙니다

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿