0

发出请求时是否可以在 Rails 5.1+(没有 jQuery)应用程序中使用datawith ?还是只与s 一起工作?Rails.ajaxGETdataPOST

我有以下

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'似乎不会更改传递给控制器​​的参数。

4

1 回答 1

0

可以通过 GET 请求使用数据;但是,Rails.ajax 只是将数据附加到 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'

但是,这也类似于Rails.ajax 处理 POST 请求数据的方式。它不对数据执行任何转换。数据原封不动地传递给 XMLHttpRequest。数据options.data按原样发送。

xhr.send(options.data)
于 2018-11-07T15:42:18.007 回答