我的控制器处理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"}
然而,'错误'回调被执行而不是'成功'回调。我做错了什么?
答案 0 :(得分:0)
事实证明,未指定返回的JSON if key被解释为格式错误。
解析json如下解决了这个问题:
render json: {answer_video: @answer.video.url}