我在Ajax中遇到PUT问题。
如果我使用fiddler并对URL执行PUT:http://domain.com:58226/api/Person/1,请求正文:{“firstName”:“Stan”,“lastName”:“Dard”},它可以正常工作。
但是当我使用ajax做同样的事情时,它不起作用:
$.ajax({
data: '{"firstName":"Stan","lastName":"Dard"}', //{action:'x',params: ['a','b','c']}
url: 'http://domain.com:58226/api/Person/'+id,
type: 'PUT',
success: function(result) {
alert("Uppdaterad!");
}
});
答案 0 :(得分:0)
我认为数据需要是一个字符串。对象被转换为查询字符串,这是你在这里看到的。
您可以使用JSON.stringify(obj)
方法将对象转换为字符串。
答案 1 :(得分:0)
答案 2 :(得分:0)
看一下这个StackOverflow帖子:
How to get/post/delete/put information with jQuery and AJAX
“出于安全原因,您无法使用jQuery创建跨域AJAX请求。”
答案 3 :(得分:0)
答案是JSON.stringify对象并更改contentType:text / json。