带参数的jQuery Ajax PUT
看来使用jQuery Ajax POST会传递参数,但PUT不会是 。我查看了当前的jQuery代码,并且PUT和DELETE不在那里。我看着1.4.2 jQuery和PUT和DELETE在那里。带参数的jQuery Ajax PUT
使用当前版本的jQuery传递带PUT请求参数的解决方法是什么?
What's the difference between a POST and a PUT HTTP REQUEST?
PUT不接受参数。这是一个“放置”资源的地方。所以我不认为你会得到参数,除非它在URL中,这可能不是你想要做的。
你能否提供一个例子,因为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.');
}
});
Demo从jQuery的1.3.2测试起上铬。
您是否尝试过在服务器端获取参数?我使用getParameter()在doPut()和参数不传递 –
检查http://stackoverflow.com/questions/855835/servlet-parameters-and-doput – Jayendra
我试过使用HttpRequest和相同的结果,所以它不是jquery的错,但为什么最新的Chrome不会传递PUT参数? –
对于像我这样结束在这里的其他人,可以使用AJAX使用参数执行PUT,但它们是作为正文发送的,而不是查询字符串。
用途:
$.ajax({
url: 'feed/4', type: 'POST', data: "_METHOD=PUT&accessToken=63ce0fde", success: function(data) {
console.log(data);
}
});
一定要记住使用_METHOD=PUT
。
我通常会建议不要将数据解析为字符串,因为这可以防止应用程序变为动态并且比简单的对象数组更难读取。另外,你可以使用'type:'PUT''来替代数据。 – Jono20201
请参阅:http://stackoverflow.com/questions/630453/put-vs-post-in-rest'PUT'和'POST'都可以用来发送数据,它只是改变HTTP方法名称AFAIK。 –