我正在尝试从localhost运行此脚本,但它出现错误 405(方法不允许)。
代码
$(document).ready(function(){
$.ajax({
url:'http://some.url/',
type:'post',
//crossDomain: true,
data:'{id:"49"}',
contentType: "application/json; charset=utf-8",
dataType:'jsonp',
success: function(responseData, textStatus, jqXHR) {
alert('right');
var value = responseData.someKey;
console.log(value);
},
error:function() {
alert("Sorry, I can't get the feed");
}
});
});
我尝试使用crossDomain:true
和$.support.cors = true
,但没有用。有什么想法吗?
答案 0 :(得分:2)
这与CORS无关,HTTP 405意味着不允许使用您的HTTP方法,例如GET,POST等。
根据Chrome开发工具,只允许使用POST和OPTIONS HTTP方法。
要使用jQuery.ajax()
发送POST请求,请使用以下命令:
$.ajax('url', {
// other settings here
type: 'POST'
}
您也可以使用jQuery.post()
包装器方法执行相同的操作。
请注意,相关的特定网站尚未设置跨域支持,因此,如果您需要访问此网站,则需要让网站修复此问题,否则您需要使用服务器作为代理。