在标题中,我有一个asp.net 4.0 Web表单项目工作正常。 当我尝试将jquery从1.7.2移动到1.9.0时,我得到了
HTTP 405.0 - 不允许的方法
当我尝试通过ajax加载htm文件时。 导致错误的示例代码
$("#samplediv").load("/htmlParts/ComunicazioniAlerts.htm?p=" + now(), function () {
alert('loaded');
});
与旧的jquery版本完美配合的代码。
我将升级置于待机状态,似乎是一个方法/动词问题,但只在更新jquery时显示,就好像它们改变了他们需要页面的方式一样。
答案 0 :(得分:1)
实测值。 我在我的应用程序中使用了很多ajax调用,并且为了避免重复我放在我的应用程序之上
$.ajaxSetup({
type: "POST",
contentType: "application/json; charset=utf-8",
data: "{}",
dataType: "json"
});
在1.7.2中,这不适用于继续使用GET方法的$ .load() 现在在1.9.0中,$ .load也考虑了$ .ajaxsetup,用POST方法发送htm文件请求,IIS拒绝请求。
可能的解决方法:
- 在IIS上启用静态元素的POST动词(我不知道怎么做,这是一个窍门,可以放在我可能使用的所有iis上。可怕的)
- 从$ .ajaxsetup中删除POST,再次添加到所有$ .ajax请求(无聊和冗长)
- 用$ .get替换所有$ .load,必须编写代码将生成的html添加到所需的div(再次,无聊和冗长)。
感谢任何解决方法。