私は(CoffeeScriptで)そのようにうまく機能するajax呼び出しを持っています。
ajaxElement.change ->
$(this).data('request','initiated')
$.ajax
type: 'PUT'
url: $(this).closest('form').data('update-url')
data: $(this).serialize()
dataType: 'json'
success: (data) ->
alert(data.name)
アラートは、サーバーから返されたJSONオブジェクトからdata.nameが正しく解析されたことを確認します。ただし、jQuery.ajaxSuccess呼び出しでこれにアクセスしたいと思います。私はそうすることができます
$('form.invoice-form').ajaxSuccess (event, xhr, options) ->
response = $.parseJSON(xhr.responseText)
alert(response.name)
正常に動作しますが、これがベストプラクティスではないかと思います。JSONを2回解析して、必要なものを取得しています。これは大きなオーバーヘッドではありませんが、おそらく回避するのが最善です。ajaxSuccessのこれらのパラメーターの1つに、元の.ajax呼び出しで簡単にアクセスできる解析済みのJavascriptオブジェクトが既に含まれているものはありますか?