带参数的jQuery Ajax PUT

and*_*i g 47 jquery

似乎使用jQuery Ajax POST会传递参数,但PUT不会.我查看了当前的jQuery代码,PUT和DELETE不存在.我看了1.4.2 jQuery,PUT和DELETE都在那里.

使用当前版本的jQuery通过PUT请求传递参数的解决方法是什么?

Jay*_*dra 79

你能提供一个例子,因为put应该也可以正常工作吗?

文件 -

要求的类型("POST"或"GET"); 默认为"GET".注意:此处也可以使用其他HTTP请求方法,例如PUT和DELETE,但并非所有浏览器都支持它们.

让小提琴中的示例和表单参数传递正确(因为它不会被附加到url) -

$.ajax({
  url: '/echo/html/',
  type: 'PUT',
  data: "name=John&location=Boston",
  success: function(data) {
    alert('Load was performed.');
  }
});
Run Code Online (Sandbox Code Playgroud)

从Chrome上的jQuery 1.3.2开始测试演示.

  • 演示链接已损坏 (2认同)

ow3*_*w3n 13

您可以使用PUT方法并传递将包含在请求正文中的数据:

let data = {"key":"value"}

$.ajax({
    type: 'PUT',
    url: 'http://example.com/api',
    contentType: 'application/json',
    data: JSON.stringify(data), // access in body
}).done(function () {
    console.log('SUCCESS');
}).fail(function (msg) {
    console.log('FAIL');
}).always(function (msg) {
    console.log('ALWAYS');
});
Run Code Online (Sandbox Code Playgroud)


Dan*_*dle 8

对于像我一样在这里结束的其他人,您可以使用AJAX来执行带有参数的PUT,但它们作为正文发送,而不是作为查询字符串发送.