0
在我的軌道4的項目,我有一個POST和jQuery這樣的(注意,咖啡腳本)提交資料:軌道4:應對阿賈克斯後會導致錯誤的渲染響應
post_data =
site_id: site
url: '//' + $('#host-holder').data('host') + '/' + key
$.post("/sites/" + site + "/images",post_data, (success) ->
#successful_post
).fail((xhr, textStatus, errorThrown) ->
#post failed
)
在我控制器,如果我這樣做:
respond_to do |format|
format.js {render nothing: true}
end
提交後的優秀作品(在AJAX客戶端成功運行的回調),但如果我這樣做:
respond_to do |format|
format.js {render json: @image.to_json, status: :created}
end
它失敗(在Ajax客戶端運行失敗回調)。
爲什麼?我在迴應ajax請求時做錯了什麼? (注意:服務器端沒有錯誤報告)
編輯:錯誤是「parsererror
」,我其實有整個對象!它說"missing ; before statement"
...這是響應對象:"{"id":24,"url":"<EDITED FOR SECURITY>","thumbnail":null,"status":null,"site_id":28,"created_at":"2014-10-05T02:53:50.030Z","updated_at":"2014-10-05T02:53:50.030Z","quality":"good"}"
控制檯中的故障描述是什麼? – 2014-10-05 02:45:14
@ControlFreak請參閱我的編輯;我會假設在我的控制器中的@ image.to_json會構造正確的json? – faboolous 2014-10-05 03:01:29
您可以使用json驗證器(如jsonlint)檢查您的json是否正確。你在響應中將'content-type'頭部設置爲'application/json'嗎? – 2014-10-05 03:03:08