如何从javascript进行PUT,POST或DELETE调用?
我使用jquery拖放收集了一些数据。我如何将其发送到数据库?我想我可能能够使用jQuery.ajax,但无法确切地知道如何。
任何指示赞赏。
解决方案:
这是有效的javascript
$(document).ready(function() {
$.ajax({
type: "PUT",
url: "/articles/8", // should be mapped in routes.rb
data: {articles:{name:"New Name"}}
});
});
但它并没有将第8条的名称改为新名称。 Firebug没有显示错误,但我仍然无法将数据传递给编辑。
url是使用put url的标准更新,它存在于路由中。
答案 0 :(得分:2)
您可以使用jQuery ajax:这是使用服务器端代码动态处理浏览器请求的一种非常好的方法。
jQuery('#element_id').on('click change',function(){ // use event as per your need
$.ajax({
type: "GET",
url: "/edit_comment", // should be mapped in routes.rb
data: {comment:"new comment"},
datatype:"html", // check more option
success: function(data) {
// handle response data
},
async: true
});
});
有关详细信息,请查看以下链接:
http://api.jquery.com/jQuery.ajax/
http://api.jquery.com/category/ajax/
RAIL代码:
def edit_comment
@comment = params[:comment]
// store to database
response_to do |format|
render :html 'comment.html'
end
end
<强>的routes.rb 强>
map.edit_comment "edit_comment", :controller => 'comment', :action => 'edit_comment'
答案 1 :(得分:2)
对于PUT和DELETE,添加一个名为_method的额外参数:_method=PUT
Rails使用它来模拟PUT和DELETE。