![](/img/trans.png)
[英]Ajax request returns 200 OK, but an error event is fired instead of success
[英]Rails completed 200 OK but $.ajax() calling 'error' callback instead of 'success'
我的控制器处理ajax请求,如下所示(简化):
def create
...
@answer = Answer.new(video: video_file)
if @answer.save
render json: @answer.video.url
else
...
end
end
这就是我的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服务器的响应:
Completed 200 OK in 13954ms (Views: 0.3ms | ActiveRecord: 4.6ms)
这是服务器返回的data
(使用Chrome控制台):
{readyState: 4, responseText: "http://some_url.com", status: 200, statusText: "OK"}
但是,将执行“错误”回调,而不是“成功”回调。 我究竟做错了什么?
事实证明,如果未指定键,则返回的JSON被解释为格式错误。
解析json可以解决此问题:
render json: {answer_video: @answer.video.url}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.