簡體   English   中英

使用Ajax,React和Rails的POST 500(內部服務器錯誤)

[英]POST 500 (Internal Server Error) using Ajax, React and Rails

我只是邁出了使用Ajax的一步,所以我可能錯過了一些非常重要的內容。 現在,我不想使用刷新頁面的方式,而是要使用ajax。 我正在測試一小段代碼,但瀏覽器控制台顯示:

POST 500(內部服務器錯誤)

路線:

post 'to/test' => 'foo#bar'

.jsx:

test(e){
    $.ajax({
      url: 'to/test',
      type: 'POST',
    });
},

foo_controller.rb:

def bar
 u = User.last
 u.age = 99
 u.save
end

在我的Rails控制台上,該用戶的年齡設置為99。我在ajax學習中遺漏了什么?

更改此:

url: 'to/test'

對此:

url: '/to/test'

否則,ajax調用將使用當前路徑的本地路徑,而不是域的本地路徑。

編輯:取消,500錯誤可能意味着其他。 您的服務器日志說什么? 您可能需要確保操作方法就會回應到js的respond_to塊,並有bar.js.erb模板文件去用它。

我很確定我知道答案,這是一個Template is missing錯誤,只需添加head :ok

def bar
  u = User.last
  u.age = 99
  u.save
  head :ok
end

head(status, options = {})

返回沒有內容的響應(僅標頭)。 options參數被解釋為標題名稱和值的哈希。 這使您可以輕松地返回僅包含重要標頭的響應。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM