Ich versuche, eine Ajax Beitrag Anfrage an eine create
Aktion in einem Controller, aber ich bekomme undefined
statt einer JSON Antwort in der Ajax success
Funktion. Ich brauche eine JSON-Antwort, weil ich eine einzelne Seite App baue.Rails Ajax Beitrag Antwort undefined
Ich benutze render :json => {name: "jim"}.to_json
. Ist das der richtige Weg, oder gibt es etwas Grundlegendes zu Ajax-Anfragen, die ich vermisse?
Jede Hilfe würde sehr geschätzt werden.
Clientseitige Ajax Post Anfrage:
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
Aktion in der Antwort-Controller:
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: Ich habe die Antwort kommt durch in der Registerkarte Netzwerk der Chrom Entwickler-Konsole sehen können - {Name: "Jim"}. Warum kann ich im ajax success callback nicht darauf zugreifen?
2. EDIT: Ich habe tatsächlich diese mithilfe des folgenden nach der $post
Funktion zu arbeiten:
.done (data)
console.log data
Wer weiß, warum das funktioniert und die andere Art und Weise nicht?
Sie keine Notwendigkeit 'Typ verwenden: "POST"'. Die Methode selbst wird eine POST-Anfrage stellen. –
'charset =" utf-8 "' ist auch falsche Syntax. Ich weiß nicht, wie Sie den Server anrufen können :) –