Rails渲染json:{}导致AJAX函数陷入错误函数

时间:2017-06-09 23:41:29

标签: javascript ruby-on-rails ajax coffeescript

我在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调用的dataTypejson

        result = HTTParty.post(url, options)
        p result.code

        if result.code.to_i == 200
            render json: {}
        else
            raise "Error Signing Up User"
        end

我很乐意帮助弄清楚我在这里做错了什么。谢谢!

1 个答案:

答案 0 :(得分:0)

看起来您的问题可能是没有使用respond_to块。使用您的代码,您只需返回一个JSON对象,而无需指定jQuery需要进行ajax调用的类型。响应仍然是200,它只会显示为parseError

试一试:

respond_to do |format|
  format.json {
    render json: {}
  }
end

这将响应类型指定为JSON,这应该可以解决问题。