[英]How to pass array from js to controller
我的javascript文件app/assets/javascript/pages/books_page.js
有一個數組:
var booksPage = Backbone.Model.extend({
defaults: {
authors: []
}
...
如何將其作為參數傳遞給我的控制器。 我的控制器的路徑是app/controllers/books_controller.rb
嗎?
我想我可能需要ajax請求並嘗試了以下操作,但它不起作用:
$.ajax({
type: "post",
url: "/books_controller",
data: { list_authors: this.get('authors') },
});
具體來說,我不確定該URL是什么。 您的幫助將不勝感激。 謝謝。
type: 'POST',
url: `/books/${this.id}`, // or '/books/' + this.id,
data: {
_method: 'put'
}
這會將您路由到BooksController#update
。 您還需要將_method
條目合並到數據對象中。
“注意:由於跨瀏覽器不支持使用GET和POST以外的HTTP方法提交表單,因此,所有其他HTTP方法實際上都是通過POST發送的,方法是_method參數中指定的預期方法。Rails會自動檢測並對此進行補償。” - 在Rails中使用JavaScript
您可以使用JSON.stringify
,並從Controller JSON.parse(params)
解析。
$.ajax({
type: "post",
url: "/books_controller",
data: { list_authors: JSON.stringify(this.get('authors')) }
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.