.net 网络错误405:从浏览器发布到本地主机WCF REST Web服务
我正在写一个利用dotnetrestweb服务的网站。我完全控制了这两个项目 就在今天,我实现了一个PostWeb服务。当我用Fiddler发帖时,它就起作用了。今天早上,我在网站上做了一些测试,看起来一切正常。我处理了另一个问题(使用fiddler获得正确的帖子内容),然后从浏览器返回帖子,但现在整个网站都出现了CORS行为-空白返回等。此外,刚刚实现的帖子刚刚开始返回405方法不允许的错误.net 网络错误405:从浏览器发布到本地主机WCF REST Web服务,.net,json,wcf,.net,Json,Wcf,我正在写一个利用dotnetrestweb服务的网站。我完全控制了这两个项目 就在今天,我实现了一个PostWeb服务。当我用Fiddler发帖时,它就起作用了。今天早上,我在网站上做了一些测试,看起来一切正常。我处理了另一个问题(使用fiddler获得正确的帖子内容),然后从浏览器返回帖子,但现在整个网站都出现了CORS行为-空白返回等。此外,刚刚实现的帖子刚刚开始返回405方法不允许的错误 "NetworkError: 405 Method Not Allowed - http://loca
"NetworkError: 405 Method Not Allowed - http://localhost:50122/MyService/ListMarkers"
以下是网站代码:
function postAjax(){
var markers =
{ "listmarkers":
[{ "position": "128.3657142857143", "markerPosition": "7" },
{ "position": "235.1944023323615", "markerPosition": "19" },
{ "position": "42.5978231292517", "markerPosition": "-3" }]
};
$.ajax({
type: "POST",
url: window.url + "/PocShimService.svc/ListMarkers",
// The key needs to match your method's input parameter (case-sensitive).
data: JSON.stringify(markers),
//data: markers,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(data){alert(data);},
failure: function(errMsg) {
alert(errMsg);
}
});
}
以下是与访问控制有关的服务器配置:
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
<add name="Access-Control-Allow-Headers" value="Content-Type" />
</customHeaders>
</httpProtocol>
有什么想法吗?建议?如果您的WCF和客户端应用的域名相同,则您必须尝试window.location.origin而不是window.url。您的ajax请求应该如下所示
$.ajax({
type: "POST",
url: window.location.origin + "/PocShimService.svc/ListMarkers",
// The key needs to match your method's input parameter (case-sensitive).
data: JSON.stringify(markers),
//data: markers,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(data){alert(data);},
failure: function(errMsg) {
alert(errMsg);
}
});
发布您的服务代码…这确实有效,我需要将网站移动到与web服务相同的url/端口。我希望避免在与我的web服务相同的位置运行该网站。有什么建议吗?在这种情况下,您必须在服务器端调用WCF,因为跨浏览器安全问题