Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/423.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.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
Javascript Rails完成了200次OK,但是$.ajax()调用';错误';回调而不是';成功';_Javascript_Jquery_Ruby On Rails_Ajax - Fatal编程技术网

Javascript Rails完成了200次OK,但是$.ajax()调用';错误';回调而不是';成功';

Javascript Rails完成了200次OK,但是$.ajax()调用';错误';回调而不是';成功';,javascript,jquery,ruby-on-rails,ajax,Javascript,Jquery,Ruby On Rails,Ajax,我的控制器处理ajax请求的方式如下(简化): 以下是我的ajax函数的定义: $.ajax({ url : "/answers", type: 'POST', data: data, contentType: false, processData: false, success: function(data) { console.log("Success!")

我的控制器处理ajax请求的方式如下(简化):

以下是我的ajax函数的定义:

$.ajax({
        url :  "/answers",
        type: 'POST',
        data: data,
        contentType: false,
        processData: false,
        success: function(data) {
            console.log("Success!")
        },    
        error: function(data) {
          console.log("Error!",data)
        }
      });
这是Rails服务器的响应:

在13954ms内完成200 OK(视图:0.3ms |活动记录:4.6ms)

这就是服务器返回的数据(使用Chrome控制台):


但是,将执行“错误”回调,而不是“成功”回调。我做错了什么?

结果表明,如果未指定键,返回的JSON将被解释为格式错误

按如下方式解析json可解决此问题:

render json: {answer_video: @answer.video.url}

使用浏览器的调试工具检查服务器的输出。抱歉,我检查了。我编辑了问题并添加了细节。
{readyState: 4, responseText: "http://some_url.com", status: 200, statusText: "OK"}
render json: {answer_video: @answer.video.url}