我继承了一个使用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;
}