/ / रेल अजाक्स पोस्ट प्रतिक्रिया अपरिभाषित - jquery, रूबी-ऑन-रेल, अजाक्स, रूटिंग

रेल अजाक्स पोस्ट प्रतिक्रिया अपरिभाषित - jquery, रूबी-ऑन-रेल, AJAX, रूटिंग

मैं ajax पोस्ट अनुरोध को सबमिट करने की कोशिश कर रहा हूं create एक नियंत्रक में कार्रवाई लेकिन मुझे मिल रहा है undefined इसके बजाय ajax में एक json प्रतिक्रिया के बजाय success समारोह। मुझे एक json प्रतिक्रिया की आवश्यकता है क्योंकि मैं एक पेज ऐप का निर्माण कर रहा हूं।

मैं उपयोग कर रहा हूँ render :json => {name: "jim"}.to_json। क्या यह इसके बारे में जाने का सही तरीका है या अजाक्स अनुरोधों के बारे में कुछ मौलिक है जो मुझे याद नहीं है?

कोई भी सहायताकाफी प्रशंसनीय होगी।

क्लाइंट-साइड ajax पोस्ट अनुरोध:

  submit_click: ->
$.post "/responses",
type: "POST"
dataType: "json"
contentType: "application/json"
charset="utf-8"
response:
image_id: @image_name
data: @data_pool
success: (json) ->
console.log json

प्रतिक्रिया नियंत्रक में कार्रवाई:

  def create
@response = Response.new(response_params)
if @response.save
count = count_completed_responses
if count < 20
render :json => {name: "jim"}.to_json
end
end
end

EDIT: मैं क्रोम डेवलपर कंसोल के नेटवर्क टैब में आने वाली प्रतिक्रिया को देख सकता हूं - {name: "jim"}। मैं इसे ajax सफलता कॉलबैक में एक्सेस क्यों नहीं कर सकता?

दूसरा संस्करण: मैं वास्तव में निम्नलिखित के बाद का उपयोग करके काम करने के लिए मिला है $post समारोह:

.done (data)
console.log data

किसी को पता है कि यह क्यों काम करता है और दूसरा तरीका नहीं है?

उत्तर:

जवाब के लिए 0 № 1

यह नीचे की तरह होना चाहिए

submit_click: ->
$.post "/responses",
contentType: "application/json; charset=utf-8"
dataType: "json"
response:
image_id: @image_name
data: @data_pool
success: (json) ->
console.log json

आशा है कि यह आपके लिए काम करेगा