0
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 似乎都有这个调用的问题。这里有一些重要的信息:

  1. values 是一个数据对象,我可以验证它是否有数据。

  2. 所有窗口 .trigger 函数都用于 Google 分析跟踪,它们用于代码的其他几个部分,不会出现问题。

  3. 在 IE 中,该函数的间距似乎很奇怪,所有其他函数都正确排列,但是这个似乎奇怪地对齐,让我想知道是不是解析不正确?

  4. success 函数似乎没有运行,failure 和 statusCode 函数被完全忽略。这让我想知道这是否不是 jQuery 方法的问题,但它们在代码的其他地方起作用?

4

1 回答 1

0

估计缓存有问题。IE自动缓存了ajax请求。要克服这个问题cache: false,请在 $.ajax 代码中设置选项。

例子 :

$.ajax({
    type : "POST",
    contentType : "application/x-www-form-urlencoded; charset=UTF-8",
    url : url,
    data : values,
    cache : false,
    // existing stuff
});

希望这会有所帮助!

于 2012-09-20T17:35:18.063 回答