Ajax调用无法在IE中运行但在Chrome中运行良好?

时间:2017-02-06 16:13:02

标签: javascript jquery ajax

我继承了一个使用Ajax和jQuery来获取数据并填充jQuery日历的项目。我已经解决了一个需要修复的问题,但后来我被告知另一个问题不起作用。所以,我开始对Ajax调用进行故障排除,发现它在Chrome中工作得很好,但在IE11中却没有。

我已经做了一些搜索,似乎IE可能正在尝试缓存结果。但是,我尝试了一些没有任何运气的建议。第一个是使它成为“POST”而不是“GET”,但这已经是“POST”了。下一个是在Ajax调用上设置“cache:false”。我补充说,但它似乎没有什么区别。我还在jQuery调用中添加了一个“error:”部分,之前没有。我从来没有对该代码发出任何警报。

我在通话的“成功:”中发出警报,并且每次都会调用。但是,没有被调用的是“ProcessVactionResponse”函数。我在该功能中设置了警报和断点进行测试。在Chrome中我停在断点并获得警报但在IE中我在调试时从未进入该功能。

我正在寻找任何可以尝试的建议。

if (empid != "" && start != "" && end != "") {
                    $("#ajaxloader").show();
                    $("#lnkvacation").hide();
                    $.ajax({
                        type: "POST",
                        url: "EmployeeManagement.aspx/GetVacation",
                        data: "{'employeeId':'" + empid + "','start':'" + start + "','end':'" + end + "'}",
                        contentType: "application/json; charset=utf-8",
                        dataType: "json",
                        cache: false,
                        async: true,
                        error: function (XMLHttpRequest, textStatus, errorThrown) {
                            alert("Request: " + XMLHttpRequest.toString() + "\n\nStatus: " + textStatus + "\n\nError: " + errorThrown);
                        },
                        success: function (response) {
                            alert("AJAX successful");

                            ProcessVacationResponse(response);
                            $("#ajaxloader").hide();
                            $("#lnkvacation").show();
                        }                
                    });

                }

Javascript文件。 Chrome在这里很好,但是IE从未使用过这个功能。

function ProcessVacationResponse(response) {

    alert("in ProcessVacationResponse function");

    var vacationdata = response.d;

    debugger;

}

0 个答案:

没有答案