मैं 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
आशा है कि यह आपके लिए काम करेगा