在发出data
请求时,是否可以在Rails 5.1+(无jQuery)应用程序中将Rails.ajax
与GET
一起使用?还是data
仅适用于POST
个?
我有以下
Rails.ajax
url: "/pages?title=lorem}"
type: 'GET'
我宁愿拥有
Rails.ajax
url: 'pages'
type: 'GET'
data: { title: 'lorem' }
但是当我尝试时,我的参数看起来像{ "object Object"=>nil, "controller"=>"pages", "action"=>"index"}
添加dataType: 'json'
或dataType: 'text'
似乎都改变了传递给控制器的参数。
答案 0 :(得分:0)
可以在GET请求中使用数据;但是,Rails.ajax simply appends the data到URL。
if options.type is 'GET' and options.data
if options.url.indexOf('?') < 0
options.url += '?' + options.data
else
options.url += '&' + options.data
除了可读性之外,使用data选项似乎没有优势。您自己将数据附加到url的第一种技术是在后台执行与Rails.ajax相同的操作。
Rails.ajax
url: "/pages?title=lorem"
type: 'GET'
但是,这也类似于how Rails.ajax handles data for POST requests。它不会对数据执行任何转换。数据原封不动地传递到XMLHttpRequest。像这样通过options.data
照原样发送数据。
xhr.send(options.data)