我有一个在Firefox中工作正常的ajax调用,但是我在jquery.min.js文件中收到了一个权限被拒绝的错误。我不知道出了什么问题,或者如何解决它。这是我的帖子:
(发布前宣布的所有内容)
$.ajax(
{
type: "POST",
url: "../ajaxURLs/SearchRequests.aspx?requestID=" + requestID + "&state=" + state + "&status=" + status + "&queue=" + queue + "&oem=" + oem +
"&rayMatNumber=" + rayMatNumber + "&mfgPartNumber=" + mfgPartNumber + "&program=" + program + "&po=" + po + "&pr=" + pr +
"&businessUnit=" + businessUnit + "&site=" + site + "&buyer=" + buyer + "&requisitioner=" + requisitioner + "&ce=" + ce + "&rea=" + rea + "&pqe=" + pqe +
"&startDate=" + startDate + "&endDate=" + endDate,
cache: false,
success: function (data) {
$("#searchResults").html(data);
sorttable.makeSortable(document.getElementById("SearchResults"));
$("#MainContent_excelDiv").show();
}
});
有什么想法吗?如果我将map直接映射到我的SearchRequests.aspx并传递参数,那么它在Firefox和IE中都能正常工作,只有当它通过ajax完成时才能正常工作。
是的,我使用了f12。错误是“Permission Denied”jquery.min.js,第9行2805字符。我使用的是jquery版本1.7.2。
如果我删除将searchResults div设置为等于数据,并添加警报以显示数据,它将完成该操作并在警报中包含正确的信息。 Fiddler显示正确的html生成,Firefox工作正常,它只是IE。其他ajax帖子在IE中也可以正常使用。
答案 0 :(得分:2)
尝试将type
从POST
切换为GET
。您正在进行搜索,因此无论如何都是合适的。这可以解释为什么它适用于所描述的场景,而不是你的AJAX请求。
POST
只应在服务器端修改数据时使用,而GET
用于只读数据检索。
修改强>
将$("#searchResults").html(data);
替换为document.getElementById("searchResults").innerHTML = data;
在JQuery语句中发生了一些奇怪的事情,看看在该实例中是否使用JQuery是否有效。如果它出现在警报中,它也应该在该上下文中工作。