Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery Ajax响应和json_Jquery_Ruby On Rails_Ajax - Fatal编程技术网

Jquery Ajax响应和json

Jquery Ajax响应和json,jquery,ruby-on-rails,ajax,Jquery,Ruby On Rails,Ajax,我试图对控制器进行ajax调用,该控制器inturn从模型中调用一个方法,并向我返回一个值数组。但我无法在ajax中得到任何响应。我需要根据响应数据设置文本字段的值 我的ajax代码是用.coffee.js编写的: $.ajax({ url: '/addresses/billing_address_to_string', type: "POST" dataType: "JSON" success: (data) ->

我试图对控制器进行ajax调用,该控制器inturn从模型中调用一个方法,并向我返回一个值数组。但我无法在ajax中得到任何响应。我需要根据响应数据设置文本字段的值

我的ajax代码是用.coffee.js编写的:

$.ajax({
        url: '/addresses/billing_address_to_string',
        type: "POST"
        dataType: "JSON"
        success: (data) ->
          $('#billing_address_address_line1').val(data)
      }).done
在我的控制器中:

respond_to :json, only: [:billing_address_to_string]
def billing_address_to_string
    address = Address.last.billing_address_to_string1
    respond_with address
  end
模型方法为:

def billing_address_to_string1
    address = []
    address << [name, street, street_qualifier].reject(&:blank?)
    address << [city, state_or_region, postal_code].reject(&:blank?)
    address << [phone_number]
  end
def账单地址到字符串1
地址=[]

地址是否
address.last.billing\u address\u to\u string1
返回字符串? 如果是这样的话,您需要将其包装在一个散列中,以便对其进行JSON编码

试一试

那么JS应该是

 $.ajax({
    url: '/addresses/billing_address_to_string',
    type: "POST"
    dataType: "JSON"
    success: (data) ->
      $('#billing_address_address_line1').val(data.address)
  })

Address.last.billing\u Address\u to\u string1
是否返回字符串? 如果是这样的话,您需要将其包装在一个散列中,以便对其进行JSON编码

试一试

那么JS应该是

 $.ajax({
    url: '/addresses/billing_address_to_string',
    type: "POST"
    dataType: "JSON"
    success: (data) ->
      $('#billing_address_address_line1').val(data.address)
  })

在开发者工具中的控制台/网络选项卡上有任何信息吗?@Rick在我的网络选项卡中,我得到状态302。控制台没有任何错误从开发者工具中的控制台/网络选项卡获取任何信息?@Rick在我的网络选项卡中,我获得状态302。控制台没有任何错误我进行了更改,但运气不佳:(你在使用chrome吗?在“网络”选项卡中,你可以查看ajax请求的响应。确保响应满足你的期望。我犯了一个非常愚蠢的错误,在匆忙中,我只是忘记了为我的方法添加路由。在添加路由后,我做了上面提到的更改。它现在工作得很好:)非常感谢您的帮助。干杯!不用担心,请注意,从技术上讲,json响应不需要在对象中封装数组,但是我做了更改,但运气不好:(你在使用chrome吗?在“网络”选项卡中,你可以查看ajax请求的响应。确保响应满足你的期望。我犯了一个非常愚蠢的错误,在匆忙中,我只是忘记了为我的方法添加路由。在添加路由后,我做了上面提到的更改。它现在工作得很好:)非常感谢您的帮助。干杯!不用担心,但是请注意,从技术上讲,json响应不需要在对象中封装数组