2010-02-09 89 views
0

我已经通过jQuery获得了ajax调用,直到进入回调才执行,没有错误。返回的内容如下所示:jquery Ajax回调

{"UPSELLABLE":true,"OFFERTEXT":"p47r.cfm"} 

只是在做alert(upselldata);将提醒以上数据。但是,如果我尝试像javascript对象一样访问变量upselldata(我认为jquery已经为我做了eval工作),变量是未定义的。请参阅下面的代码:

 $.ajax({ 
     type: "POST", 
     datatype: "json", 
     data: "ProductID=1", 
     url: '/templates/public/upsell_available.cfm', 
     success: function(upselldata) {    
      alert(upselldata.UPSELLABLE); // upselldata.upsellable is undefined!?!?! 
     } 
     }); 

回答

2

使用“dataType”而不是“数据类型”。 Javascript是区分大小写的,因此,jQuery忽略了你的设置。

请注意,如果您在响应中正确设置标题(我假设您将其作为文本发回),jQuery可以自动检测数据类型。

+0

哈哈,宾果。好眼睛。 – Darthg8r 2010-02-09 21:37:49

+0

+1我从来不知道基本的jQuery调用返回了一个JavaScript对象 – Damien 2010-02-09 21:42:45