小编Lau*_*nce的帖子

Rails 使用 JSON 通过 ajax 请求传递参数

我正在使用 rails 5.2 并且我想要一个国家和城市选择表。我正在使用城邦 gem 来创建包含所有国家和城市的下拉列表,但是,城市下拉列表需要事先知道选择的国家/地区。

我认为最好使用 ajax 在下拉列表中使用输入事件侦听器传递选定的国家/地区。

我的问题是 ajax 请求没有传递我正在编写的 JSON 变量,但它传递了 {"object Object"=>nil, "id"=>"1"}.

这就是我现在所拥有的:

    <%= form_with(model: @user) do |form| %>
    <%= form.select :country, CS.countries.values.sort, { :prompt => 'Country'} %>
    <%= form.select :city, CS.states('placeholder').keys.flat_map { |state| CS.cities(state, 'placeholder') }, { :prompt => 'City'} %>
    <%= form.submit %>
<% end %>

<script>
    var countryForm = document.getElementById('user_country');
    countryForm.addEventListener('input', function (evt) {
    var country = this.value;
    Rails.ajax({
        type: "GET",
        url: '/users/' + <%= params[:id] %> + '/country',
        dataType:'json',
        data : …
Run Code Online (Sandbox Code Playgroud)

ajax json ruby-on-rails ruby-on-rails-5.2

4
推荐指数
1
解决办法
3551
查看次数

标签 统计

ajax ×1

json ×1

ruby-on-rails ×1

ruby-on-rails-5.2 ×1