簡體   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