function createLead(values) {
var url = "/api/v1/createlead/?apikey=XXXX-XXXX-XXXX-XXXX";
//debugger;
$.ajax({
type : "POST",
contentType : "application/x-www-form-urlencoded; charset=UTF-8",
url : url,
data : values,
success: function (result) {
result = $.parseJSON(result);
if (result.redirect) {
$(window).trigger('googleEvent' , 'regFailure');
window.location.href = values.returnUrl;
return;
}
else if (result.status === "OK" ) {
if (result.data.isPixelToBeFired){
$(window).trigger('googleEvent' , 'pixelFire');
}
else {
$(window).trigger('googleEvent', 'noPixelFire');
}
olp_sLeadId = result.data.leadId;
olp_sPathId = result.data.pathId;
$(window).trigger('googleEvent', 'regSuccess');
window.location = "path.html?curPathId=" + olp_sPathId
+ "&curLeadId=" + olp_sLeadId; // Enter the path
}
else {
// console.log('FAIL' , result , values);
$(window).trigger('googleEvent' , 'regFailue');
window.location.href = values.returnUrl;
return;
}
},
statusCode: {
404: function() {
$(window).trigger('googleEvent' , 'createLead404');
window.location.href = values.returnUrl;
//console.log('Something is seriously wrong');
return false;
}
},
failure: function (result) {
$(window).trigger('googleEvent' , 'createLeadFailure');
window.location.href = values.returnUrl;
//console.log('Something is seriously wrong');
return false;
}
});
}
我一直在这里摸不着头脑,所有版本的IE似乎都有这个电话的问题。这里有一些重要的信息:
values是一个数据对象,我可以验证它是否有数据。
所有窗口.trigger功能都用于Google分析跟踪,它们在代码的其他几个部分中使用,不会出现问题。
在IE中,函数似乎奇怪地间隔,所有其他函数排列正确,但这个函数似乎奇怪地对齐,让我想知道某些东西是不是正确解析?
成功功能似乎未运行,故障和statusCode功能完全被忽略。这让我想知道这不是jQuery方法的问题,但它们在代码的其他地方起作用了吗?
答案 0 :(得分:0)
我猜缓存存在问题。 IE自动缓存了ajax请求。要解决此问题,请在$ .ajax代码中设置选项cache: false
。
示例:
$.ajax({
type : "POST",
contentType : "application/x-www-form-urlencoded; charset=UTF-8",
url : url,
data : values,
cache : false,
// existing stuff
});
希望这会有所帮助!!