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 はデータ オブジェクトであり、データがあることを確認できます。
すべての window .trigger 関数は Google アナリティクスの追跡用であり、コードの他のいくつかの部分で使用されており、問題はありません。
IE では、関数が奇妙に配置されているように見え、他のすべての関数が適切に並んでいますが、これは奇妙に配置されているようで、何かが正しく解析されていないのではないかと思いますか?
success 関数は実行されていないように見え、failure 関数と statusCode 関数は完全に無視されます。これは、jQuery メソッドの問題ではなく、コードの他の場所で機能するのではないかと思います。