コントローラのcreate
アクションにajax投稿リクエストを送信しようとしていますが、ajax success
機能でjsonレスポンスの代わりにundefined
を取得しています。私は1ページのアプリケーションを構築しているので、jsonの応答が必要です。Rails ajax投稿応答が定義されていません
私はrender :json => {name: "jim"}.to_json
を使用しています。これは正しい方法ですか、それとも私が行方不明になっているajaxリクエストに関する基本的なことがありますか?
ご協力いただければ幸いです。
クライアント側AjaxのPOSTリクエスト:レスポンスコントローラで
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
編集:私はクロームデベロッパーコンソールのネットワークタブに通じてくる応答を見ることができます - {name: "jim"}なぜajax successコールバックでアクセスできないのですか?
第二編集:私は実際にこれが$post
関数の後に次を使用して動作するようになった:これは動作し、他の方法がない理由
.done (data)
console.log data
誰もが知っていますか? "POST" `:それはのような
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
以下でなければならない
それはあなたのために働くことを願っていません。メソッド自体はPOST要求を行います。 –
'charset =" utf-8 "'も間違った構文です。私はあなたがどのようにサーバーに電話をかけることができるかわからない:) –