Tôi cần gửi phản hồi json phụ thuộc vào dữ liệu người dùng nhập vào trong đầu vào, nhưng tôi không gửi yêu cầu json đơn giản.Làm thế nào để gửi phản ứng json đơn giản trong Rails?
Tôi đã theo dõi bài viết này - http://paydrotalks.com/posts/45-standard-json-response-for-rails-and-jquery.
Added Loại Mime:
Mime::Type.register_alias "application/json", :jsonr, %w(text/x-json)
và trong điều khiển của tôi:
def checkname
respond_to do |format|
format.jsonr do
render :json => {
:status => :ok,
:message => "Success!",
:html => "<b>congrats</b>"
}.to_json
end
end
end
nhưng màn hình trống và đây là mã phản hồi từ Fiddler2 khi tôi sáng tác GET đối phó với hành động này:
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
Tôi đang làm gì sai?
Bạn có chắc bạn khởi động lại ứng dụng của bạn sau khi ấn bản của mime_types.rb? Và đảm bảo rằng bạn đang truy cập hành động của mình qua url với '.jsonr' ở cuối, như: http: // localhost: 3000/checkname.jsonr'. – jdoe
@jdoe, vâng. bạn đúng rồi. Bạn có thể xem tại đây http://stackoverflow.com/questions/12382680/how-to-send-json-response-from-controller-to-jquery-and-inspect-it - đây là lý do tại sao tôi cần phải gửi yêu cầu json. – MID
Tôi chính xác ở đâu? :) Bạn đã giải quyết được vấn đề hay nó vẫn tồn tại? Tôi đã thử mã của bạn và trỏ trình duyệt của tôi tới 'http: // localhost: 3000/checkname.jsonr' cho tôi phản hồi JSON (application/json). – jdoe