我无法在 ASP.Net 3.5 项目中获得 WebService 来接受 PUT 请求。
这是 AJAX 调用:
var url = '/MyService.asmx/UpdateObject';
var options = {
dataType: "json",
contentType: "application/json",
cache: false,
type: "PUT",
data: data ? ko.toJSON(data) : null
};
$.ajax(url, options);
在 MyService.asmx 中,我有以下内容:
[WebMethod(EnableSession = true)]
[System.Web.Script.Services.ScriptMethod(ResponseFormat = System.Web.Script.Services.ResponseFormat.Json, UseHttpGet=true)]
public ButDto UpdateObject(ObjectDto myObject)
{
//Do some stuff here
return myObject;
}
但是,我收到以下错误消息:
尝试使用 POST 请求调用方法 UpdateObject,这是不允许的。
如果我从我的 Web 服务声明中删除 ", UseHttpGet=true" 并执行相同的 ajax 调用,我会收到以下错误消息:
尝试使用 GET 请求调用方法 UpdateObject,这是不允许的。
所以我在这里有点困惑。
更新:
我也尝试使用 dataType:"text",但结果是一样的。