Potrzebuję wysłać odpowiedź json zależy od danych wprowadzonych przez użytkownika na wejściu, ale nie mogę wysłać proste żądanie json.Jak wysłać prostą odpowiedź json w Rails?
Poszedłem za tym artykułem - http://paydrotalks.com/posts/45-standard-json-response-for-rails-and-jquery.
Dodany MimeType:
Mime::Type.register_alias "application/json", :jsonr, %w(text/x-json)
iw moim kontrolera:
def checkname
respond_to do |format|
format.jsonr do
render :json => {
:status => :ok,
:message => "Success!",
:html => "<b>congrats</b>"
}.to_json
end
end
end
ale ekran jest pusty, a tutaj jest kod odpowiedzi od fiddler2 kiedy składa się uzyskać odpowiedzi do tego działania:
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
Co robię źle?
Na pewno ponownie uruchomić aplikację po wydaniu mime_types.rb? Upewnij się, że uzyskujesz dostęp do akcji za pomocą adresu URL z końcówką '.jsonr' na końcu:' http: // localhost: 3000/checkname.jsonr'. – jdoe
@ yeah, yeah. masz rację. Czy możesz zajrzeć tutaj http://stackoverflow.com/questions/12382680/how-to-send-json-response-from- controller- to-jquery-and-inspect-it - właśnie dlatego muszę wysyłać prośby json. – MID
Gdzie dokładnie mam rację? :) Czy rozwiązałeś problem, czy nadal istnieje? Wypróbowałem twój kod i wskazując przeglądarce na http: // localhost: 3000/checkname.jsonr' daje mi odpowiedź JSON (application/json). – jdoe