C# WCF Rest在客户端调用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

我有一个Restfull WCF服务正在运行。 所有操作都经过了完美的测试。 但是,当我尝试使用jquery JSON从客户端调用一个PUT操作时,虽然我已经提到了PUT as方法,但头请求会更改为GET()方法。 在fiddler上测试相同的405方法不允许出现错误。 我知道这是一个PUT方法,我们不能应用GET,但在客户端,如果我使用PUT(),它会自动更改为GET头请求,并失败。 为什么会发生这样的事情?我无法解决它。有什么帮助或想法吗

我的服务请求客户端代码如下:

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服务调用正常工作,必须确保跨浏览器的兼容性。