0

我知道我很愚蠢或其他什么,但对于我的生活,我无法让这个功能在 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”的值:对象为空或未定义。

我可以看到它正在返回数据,但只是看不到/解析它?

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

任何帮助,将不胜感激。

谢谢。

4

2 回答 2

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

  2. 当表明它是一个 jquery dom 元素时,我建议在变量名之前更改var $keyword_id = 123;var keyword_id = 123;Use$

于 2012-06-08T11:41:40.807 回答
0

您是否尝试过使用jQuery.getJSON?与 .post 相同的结构(减去 'json' 参数)。
然后可以循环遍历这些项目以尝试解决并警告/控制台记录它们吗?
http://api.jquery.com/jQuery.getJSON/

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

于 2012-06-08T11:35:09.043 回答