내 js 코드는 단순히 내 서버에서 json 객체를 가져 오지만, 자동으로 구문 분석되어 속성을 가진 객체로 바뀌어야한다고 생각하지만 액세스가 제대로 이루어지지 않습니다.왜 json 데이터 형식을 사용해도 AJAX의 json 개체가 자바 스크립트에서 이해되지 않는 이유는 무엇입니까?
$.ajax({
type: 'POST',
url: '/misc/json-sample.js',
data: {href: path}, // THIS IS THE POST DATA THAT IS PASSED IN; safe2ignore.
dataType: 'json',
success: function (datax) {
if (datax.debug) {
alert('Debug data: ' + datax.debug);
} else {
alert('No debug data: ' + datax.toSource() ) ;
}
/misc/json-sample.js 파일이 : [{ "경로": "examplemodule/상위 1/자식 1/grandchild1", "제목": "첫 손자 옵션", "디버그" " 첫 번째 손자 옵션 ","어린이 "거짓}]
(I는 다음과 같이 드루팔에서 해당 개체를 반환하려고 노력하고 동일한 결과되었다.) 기타/JSON-sample.js의 드루팔 버전 :
합니다 (toSource() 기능이 FF에서) 어떻게됩니까 이$items[] = array(
'path' => 'examplemodule/parent1/child1/grandchild1',
'title' => t('First grandchild option'),
'debug' => t('debug me!'),
'children' => FALSE
);
print drupal_to_js($items);
없음 디버그 데이터 '에 경고입니다 : [{경로 : "예 "첫 번째 손자 옵션", 어린이 : false}] ' 감사합니다.
나는 디버그 필드가 Drupal에서 반환 된 객체에 있기를 기대하지만,'/ misc/json-sample.js'에이 필드가 없습니까? 하드 코딩 된 js 파일에 필드를 추가하면 작동합니까? –
죄송합니다. 잘못된 버전의 json-sample.js 파일과 경고 출력을 실수로 게시했습니다. 나는 그것을 고쳤다. – pete