我在Rails应用程序中成功返回控制器功能时遇到了问题。
$.ajax
url: '/create_signup'
type: 'POST'
dataType : 'json'
data: { signup: { email: email }}
success: ->
# mixpanel
hideEmailBar()
error: (data) ->
console.log data
console.log "didnt work again"
alert "There was an error signing you up. Please try again or contact Customer Support."
发布很简单,可以在控制器中使用,直到下面。 result.code
等于200,然后render json: {}
导致AJAX调用陷入错误情况。
我了解head :ok
不起作用,因为AJAX调用的dataType
为json
。
result = HTTParty.post(url, options)
p result.code
if result.code.to_i == 200
render json: {}
else
raise "Error Signing Up User"
end
我很乐意帮助弄清楚我在这里做错了什么。谢谢!
答案 0 :(得分:0)
看起来您的问题可能是没有使用respond_to
块。使用您的代码,您只需返回一个JSON对象,而无需指定jQuery需要进行ajax调用的类型。响应仍然是200,它只会显示为parseError
。
试一试:
respond_to do |format|
format.json {
render json: {}
}
end
这将响应类型指定为JSON,这应该可以解决问题。