我的js代碼只是從我的服務器獲取json對象,但我認爲它應該被自動分析並轉換爲具有屬性的對象,但它不允許正確訪問。爲什麼我的AJAX json對象沒有被javascript理解,即使使用'json'dataType?
$.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/parent1/child1/grandchild1」, 「標題」: 「第一孫子選項」, 「調試」:「第一個孫子的選項」,‘孩子’:假}]
(我也一直試圖從Drupal的返回對象如下,相同的結果。)其它/ JSON-sample.js的 Drupal的版本:
$items[] = array(
'path' => 'examplemodule/parent1/child1/grandchild1',
'title' => t('First grandchild option'),
'debug' => t('debug me!'),
'children' => FALSE
);
print drupal_to_js($items);
發生了什麼(在具有toSource()功能的FF中)是'No debug data:[{path:「ex 「amplemodule/parent1/child1/grandchild1」,標題:「First grandchild option」,debug:「First grandchild option」,children:false}]' 謝謝
我很困惑,你期待的調試領域是從你的Drupal返回的對象,但你沒有在'/其它/ JSON-sample.js'這個領域?如果將該字段添加到硬編碼的js文件中,它會起作用嗎? – 2010-04-03 19:45:34
對不起,我錯誤地發佈了json-sample.js文件和警報輸出的錯誤版本。我修正了這一點。 – pete 2010-04-03 19:56:38