我的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