最近我将jquery版本从1.2.6升级到1.7.1并且ajax调用无效。
它不会进入成功块。
如果我还原jquery版本,即1.2.6代码工作正常。
function getCompanyDetails(){
var email = arguments[0].value;
alert(email);
validateForm(email);
if(email)
{ var args = arguments;
$.ajax({
type: "POST",
url: "/servlet/genericate?email=vis.gu%40mphasis.com",
dataType:'json',
success: function(data) {
alert(data);
if(data.companyName=='null')
{
$("#"+""+args[2]+"").val("");
}
else
{
$("#"+""+args[2]+"").val(data.companyName);
}
if(data.address=='null')
{
$("#"+""+args[3]+"").val("");
}
else
{
$("#"+""+args[3]+"").val(data.address);
}
},
error: function() {
alert("Error");
}
});
}
}
答案 0 :(得分:2)
尝试替换
success: function(data) {
alert(data);
与
statusCode: {
200: function(data) {
alert(data);
我知道这不是一个完美而最好的答案,但至少你可以尝试一下。
答案 1 :(得分:0)
如果要更新jQuery,则应更新到最新版本。有关更新的所有注意事项均为HERE
更新后,这就是jQuery关于使其向后兼容的说法:
我们意识到现有网站和插件可能会受到这些更改的影响,并且正在为过渡升级路径提供jQuery Migrate插件。下面的各个描述表明是否可以使用jQuery Migrate插件恢复1.9中更改的行为。请注意,jQuery 1.9中的所有更改也将适用于jQuery 2.0,并且jQuery Migrate插件也可以在那里使用。
jQuery Migrate插件的未压缩开发版本包括控制台日志输出,以便在使用特定的已弃用和/或删除的功能时发出警告。这使其成为用于查找和修复现有jQuery代码和插件中的问题的迁移调试工具。它可以用于jQuery核心版本的诊断,一直到1.6.4。
插件的压缩版本不会生成任何日志输出,并且可以在需要jQuery 1.9或更高版本时在生产站点上使用,但也必须使用较旧的不兼容的jQuery代码或插件。理想情况下,这只会被用作短期解决方案,但这是您做出的决定。
的链接