我需要發送json響應取決於用戶在輸入中輸入的數據,但我無法發送簡單的json請求。如何在Rails中發送簡單的json響應?
我關注了這篇文章 - http://paydrotalks.com/posts/45-standard-json-response-for-rails-and-jquery。
添加Mime類型:
Mime::Type.register_alias "application/json", :jsonr, %w(text/x-json)
,並在我的控制器:
def checkname
respond_to do |format|
format.jsonr do
render :json => {
:status => :ok,
:message => "Success!",
:html => "<b>congrats</b>"
}.to_json
end
end
end
但屏幕是空的,這裏是從fiddler2響應代碼時,我由GET響應這個動作:
HTTP/1.1 406 Not Acceptable
Content-Type: text/html; charset=utf-8
X-UA-Compatible: IE=Edge
Cache-Control: no-cache
X-Request-Id: 14a8467908d9ce322d054607efdacf92
X-Runtime: 0.011000
Content-Length: 1
Connection: keep-alive
Server: thin 1.4.1 codename Chromeo
我做錯了什麼?
你確定你mime_types.rb版後重新啓動您的應用程序?並確保在最後使用'.jsonr'通過URL訪問您的動作,如:'http:// localhost:3000/checkname.jsonr'。 – jdoe
@jdoe,是的。你是對的。你可以看看這裏http://stackoverflow.com/questions/12382680/how-to-send-json-response-from-controller-to-jquery-and-inspect-it - 這就是爲什麼我需要發送json請求。 – MID
我到底在哪裏? :)你解決了這個問題還是存在?我試過你的代碼,並將瀏覽器指向'http:// localhost:3000/checkname.jsonr'給我JSON響應(application/json)。 – jdoe