繁体   English   中英

jQuery AJAX PUT,不起作用

[英]JQuery AJAX PUT, not working

我正在按以下方式发送JQuery AJAX调用,以更新ActiveRecord DB中的记录:

var url_out = '/users/' + args.item.id;
$.ajax({
  url: url_out,
  type: 'POST',
  method: 'PUT',
  data: args.item,
  success: function(dat) {
    alert("did it");
  }

在用户控制器中,我有这个:

def update
  @user = User.find(params[:id])
  if @user.update_attributes(params[:user])

因此,我需要将args.item中的数据作为params [:user]传递。 可以使用AJAX调用传递命名参数吗?

我可能是错的,但是我知道Rails实际上是通过添加一个隐藏参数_method来模拟http谓词的,其值是“ PUT”,并且实际请求是POST(由于某些浏览器不支持所有谓词”)

因此,您可以尝试发布并添加参数_method:“ PUT”

我要感谢@Dom和@Eduard的帮助。 原来我需要做这样的事情:

x_out = {};
x_out["first_name"] = args.item.first_name;
x_send = {};
x_send["user"] = x_out;

这样我就可以将命名参数传递给控制器​​中的update方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM