3

我对 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!");
        }
    });
4

4 回答 4

0

我认为数据需要是一个字符串。对象被转换为您在此处看到的查询字符串。

您可以使用该JSON.stringify(obj)方法将您的对象转换为字符串。

于 2012-10-10T12:44:01.477 回答
0

根据jquery docs,并非所有浏览器都支持它。

sds

但它适用于提琴手。

Fiddler 不是浏览器。

于 2012-10-10T12:46:44.977 回答
0

看看这个 StackOverflow 帖子:

如何使用 jQuery 和 AJAX 获取/发布/删除/放置信息

“出于安全原因,您不能使用 jQuery 进行跨域 AJAX 请求。”

于 2012-10-10T12:50:10.637 回答
0

答案是 JSON.stringify 对象并更改 contentType: text/json。

于 2012-10-10T13:51:08.083 回答