升级到jquery 1.9,获取HTTP 405.0加载html文件

时间:2013-01-18 15:16:54

标签: jquery ajax

在标题中,我有一个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时显示,就好像它们改变了他们需要页面的方式一样。

1 个答案:

答案 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(再次,无聊和冗长)。

感谢任何解决方法。