即返回数据时,状态jquery ajax为null

时间:2012-06-07 13:27:51

标签: jquery json internet-explorer

我知道我很愚蠢或者其他什么但是对于我的生活我无法在IE7 +中使用此功能,适用于所有其他非IE浏览器:

/ inbox / get_auth_replies(JSON已退回):

{"default_message":"Thank you, we have already recieved your request. A member of the team will contact you shortly.","repeated_message":"Thank you for contacting us. A member of the team will contact you shortly."}

jQuery的:

var $keyword_id = 123;
$.post('/inbox/get_auto_replies', {keyword_id: $keyword_id}, function(resp) {
    console.log(resp.default_message);  
    $('#inbox_default_message').val(resp.default_message);
    $('#inbox_repeat_message').val(resp.repeated_message);
}, 'json');
在IE报告中

SCRIPT5007:无法获取属性“default_message”的值:object为null或undefined。

我可以看到它正在返回数据,但却无法查看/解析它?

我已经看过SO上的所有内容,似乎没有任何帮助。

任何帮助都将不胜感激。

感谢。

2 个答案:

答案 0 :(得分:1)

  1. $.post更改为$.ajax并使用错误回调并记录错误。

  2. 我建议将var $keyword_id = 123;更改为var keyword_id = 123;在变量名称前使用$表示其jquery dom元素

答案 1 :(得分:0)

您是否尝试过使用jQuery.getJSON?与.post相同的结构(减去'json'参数) 然后可以循环遍历项目以尝试解决它们并提醒/ console.log它们? http://api.jquery.com/jQuery.getJSON/

可能是在IE7中无法解析JSON的情况,它是否可以在IE9中运行(如果可以尝试的话)。我知道你提到了IE7 +,但你试过哪个?我认为IE8中有原生的JSON解析。