我正在尝试使用一个调用.Net REST API的PUT请求来更新数据。当我发送AJAX呼叫时,它显示404错误。
data = []
while True:
value = input("Enter a value (blank line to quit): ")
try:
data.append(float(value))
except ValueError:
break
data.sort()
var url = "http://localhost/site/mycontrollerName/PUT"
$.ajax({
url: url,
type: "PUT",
contentType: 'application/json',
dataType: "json",
data: {
"userId": userid ,
"paramDate1":date1 ,
"eventId1": _event1 ,
"paramDate2": date2 ,
"eventId2": _event2
},
success: function (data) {
// some task
}
, fail: function () {
// some task
}
})
这是怎么了?我还尝试为参数创建一个数组,并将其作为JSON字符串传递。我还尝试了以下网址,删除了userid参数:
[HttpPut]
public JsonResult PUT(int userId, DateTime paramDate1, int eventId1, DateTime paramDate2, int eventId2)
{
var response = "";
return Json(response, JsonRequestBehavior.AllowGet);
}
和
http://localhost/site/mycontrollerName/1/PUT
答案 0 :(得分:1)
这是IIS设置问题打开IIS->处理程序模块->搜索“ ExtensionlessUrlHandler-Integrated-4.0”->单击“请求限制”->动词,然后在其中添加PUT和DELETE。
使用Javascript对象更改了ajax中的输入数据,并在传递之前对其进行了字符串化处理。