前端之家收集整理的这篇文章主要介绍了
Ajax请求出现“Method Not Allowed 405”,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
问题代码如下:
$.ajax({
url:"HtmlPage1.html",dataType: "html",success: function (html) {
$("#fdsf").val(html);
},error: function (html,state) {
alert(state);
$("#fdsf").val(html);
}
})
在谷歌浏览器观察下发现网页请求错误:
一直把错误报在了ajax中error中;然后在网站找了一下解决方法;
如下:
Q1: 遇到405请求错误。提示:
NSLocalizedDescription=Request Failed: method not allowed (405)。
解决方案:405请求方法不被允许。这时候应该检查请求方法是否正确,页面应该用GET请求还是POST请求。例如在请求微博access_token的时候虽然不需要发送数据但这个页面却要求使用POST请求。
Q2: 使用AFNetwork进行HTTP请求遇到如下提示信息错误:
@H_
301_41@NSLocalizedDescription=Request
Failed: unacceptable
content-type: text/plain。
解决方案:这里的错误提示是因为AFHTTPRequestOperationManager默认的http请求头没有包含text/plain格式。应使用
manager.responseSerializer.acceptableContentTypes = [manager.responseSerializer.acceptableContentTypes setByAddingObject:@”text/plain”];手动添加。当然也可能会出现text/html类型的。解决方案同理手动添加。
最后我给代码添加了 type:”get”,问题解决了。很奇怪一点,type:”get”是默认的,为什么还要添加????