0
私はページプレビューのための同期スクリプトを持っています。 preview
関数はサーバーにデータを送信するだけで、hookPreview
はクリックでそれを起動し、成功した場合に応答データを追加することになっています。Rails - ajaxによるjson応答の処理を改善する
window.Wiki =
preview: (raw_data) ->
preview_path = "/wiki/preview"
$.post preview_path,
"raw_data": raw_data,
(data) ->
$("#preview").html data.raw_data
"json"
hookPreview: (tab, textarea) ->
# Send data to controller on click
$(tab).bind "click", ->
res = Wiki.preview $(textarea).val()
console.log(res)
true
$(document).ready ->
Wiki.hookPreview($("#preview-tab"), $(".editor"))
私は、コンソールで応答res
を調べることができます。コールバック関数とObject {readyState: 1}
を、私はここで、「未定義」私に与えます(私のコンソールでは200である)res.status
を呼び出すことができませんでした。
まず、レスポンスを解析する方法は?次に、私のスクリプトを非同期スタイル(mentioned here)に改良したい。コントローラで
:
編集
preview.json.erb
を使用
def preview
# ...
respond_to do |format|
format.json
end
end
:端末で
<%= {:body => @preview }.to_json.html_safe %>
ロガーは、 "200 OK" で完了サーバーこのような問題は、スクリプトである示されました、サーバー側ではありません。
データ= $ .parseJSON '@uzaif JSON.parse'方法 – uzaif
使用は'(RES) '予期しないトークンエラーがスローされます:あなたは約束に
.done
コールバックを追加する必要があります応答を検査する。 – knh170
あなたはコンソールエラーがありますか? – uzaif