C# WCF Rest在客户端调用PUT方法时更改了标头请求中的GET方法,但未能执行该操作
我有一个Restfull WCF服务正在运行。 所有操作都经过了完美的测试。 但是,当我尝试使用jquery JSON从客户端调用一个PUT操作时,虽然我已经提到了PUT as方法,但头请求会更改为GET()方法。 在fiddler上测试相同的405方法不允许出现错误。 我知道这是一个PUT方法,我们不能应用GET,但在客户端,如果我使用PUT(),它会自动更改为GET头请求,并失败。 为什么会发生这样的事情?我无法解决它。有什么帮助或想法吗 我的服务请求客户端代码如下:C# WCF Rest在客户端调用PUT方法时更改了标头请求中的GET方法,但未能执行该操作,c#,asp.net,json,wcf,rest,C#,Asp.net,Json,Wcf,Rest,我有一个Restfull WCF服务正在运行。 所有操作都经过了完美的测试。 但是,当我尝试使用jquery JSON从客户端调用一个PUT操作时,虽然我已经提到了PUT as方法,但头请求会更改为GET()方法。 在fiddler上测试相同的405方法不允许出现错误。 我知道这是一个PUT方法,我们不能应用GET,但在客户端,如果我使用PUT(),它会自动更改为GET头请求,并失败。 为什么会发生这样的事情?我无法解决它。有什么帮助或想法吗 我的服务请求客户端代码如下: function Up
function UpdateRating(radioValue) {
jQuery.support.cors = true;
var star = (Math.floor(radioValue * 2) / 10).toFixed(2);
$.ajax({
type: "PUT",
url: ServiceURL + "xxx.svc/xml/updatescoreforvideo?vid=" + videoId + "&uid=" + userId + "&score=" + star,
data: "{}",
contentType: "application/json; charset=utf-8",
async: false,
dataType: "jsonp",
success: function (data, status, jqXHR) {
alert("you rated : "+ star + "star");//show alert on success //test
},
error: function () {
alert('Service call error occured');
}
});
}
我的fiddler/firebug错误报告:
如果需要任何澄清,我将在问题中添加更多代码以更好地理解。谢谢。我解决了此问题。添加了此功能。crossDomain:正确。它按预期工作。要使REST服务调用正常工作,必须确保跨浏览器的兼容性。