$.ajax(
{
url:"MyWebService.blah",
data: {"data":"awesome"},
success : function(responseText)
{
var myJsonObj = $.parseJSON(responseText);
//do stuff with myJsonObj
}
});
这是工作的罚款。我今天将jQuery更新到了1.9(我在1.6版本中),作为Safari的一个可能的修复,突然不支持各种切换功能(不再支持eventLayer.X),现在我所有的ajax调用都抛出下面的JavaScript错误:
Uncaught Syntax Error: Unexpected token o
一个小小的研究,经过一番测试,我发现上面的“responseText的”在我的代码现在是一个JSON对象,而不是一个字符串。所以这个错误是有道理的,但我试图围绕这个来解决我的问题。 jQuery真的改变了默认的返回类型吗?我查看了文档:
http://api.jquery.com/jQuery.ajax/
和dataType默认为“智能猜测”。我可以看到这可能是方便的,但我也不喜欢它。
因此,这里是我的问题:
这是jQuery中的一个新的(ISH)的变化?
它是1.9版本吗?或者以前是这样的,我是使用1.6的化石?
有什么建议来处理这种和我的代码“面向未来”的某种?
这是一个非常重要的变化,会影响很多代码。我会通过我的代码并删除任何解析我返回的数据到JSON的实例,但是这整个事情有点令人不安。我误认为没有指定数据类型?我想这是一个很好的做法,强制执行一个数据类型,而不是依靠默认值,但...哇。我独自一人,还是在jQuery方面有点冒失鬼?
+0
http://jsfiddle.net/5e9KC/在这里可以正常工作...嗯这是什么'o'?必须有别的东西在这里改变 –
+0
看到curCSS被弃用 –
+0
@mcpDESIGNS你的小提琴不“工作”,因为它什么都不做。显然JavaScript需要实际执行才能抛出错误。 烘烤,“curCSS?”我没有在我的代码中使用它,为什么会这样呢? –