Jquery Ajax响应和json
我试图对控制器进行ajax调用,该控制器inturn从模型中调用一个方法,并向我返回一个值数组。但我无法在ajax中得到任何响应。我需要根据响应数据设置文本字段的值 我的ajax代码是用.coffee.js编写的: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({
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响应不需要在对象中封装数组