Javascript 在jquery ajax调用中,其中一个键的值为“quot;”&引用;,jquery将该值转换为jQuery1640426001801476224854_1371690944590

Javascript 在jquery ajax调用中,其中一个键的值为“quot;”&引用;,jquery将该值转换为jQuery1640426001801476224854_1371690944590,javascript,jquery,Javascript,Jquery,如果我做一个 var i = '{"xyz":"??"}' $.ajax({ url: '/someendpoint',type: 'post', dataType: 'json', success: null,error: null,data: i }); 根据firebug的说法,这篇文章是: {"xyz":"jQuery164042601801476224854_1371690944590"} 如果只有一个问号,那么帖子就是 {"xyz":"?"} 正如所料 这可能与post正文

如果我做一个

var i = '{"xyz":"??"}'

 $.ajax({ url: '/someendpoint',type: 'post', dataType: 'json', success: null,error: null,data: i });
根据firebug的说法,这篇文章是:

{"xyz":"jQuery164042601801476224854_1371690944590"}
如果只有一个问号,那么帖子就是

{"xyz":"?"}
正如所料

这可能与post正文中的转义有关,但需要详细信息


看起来像是jquery错误:

发生的事情是jquery将其填充为回调参数。只要在选项中设置
jsonp:false
,就可以避免这种情况发生。

这看起来像是jquery中的一个bug:

这看起来像是jquery中的一个bug你有没有尝试过其他版本的jquery?只是好奇如果你把String i改为对象会发生什么?i、 变量i={“xyz”:“?”};考虑到jQuery将对其执行$.param,它将不再是JSON。@yalis:您不应该在问题中给出答案(这是一个bug)。相反,在你自己的问题上发表一个答案。@zerkms,我不这么认为。。。至少,我有一个版本的jQuery(不管有没有bug),它总是在URL中填入
,而不显式启用JSON-P模式。正如其他人所说,这可能是一个bug,但我打赌关闭jsonp可以修复它。这是jQuery旧版本中的一个bug,在最近的版本中已经修复。