ラベル Ajax の投稿を表示しています。 すべての投稿を表示
ラベル Ajax の投稿を表示しています。 すべての投稿を表示

2014年7月8日火曜日

jQuery: Ajax でエラーが出るときのレスポンス確認

dataType を json にして jQuery の $.ajax() で通信している時に、
error に処理がわたってしまう場合、
パースエラーが発生していることがあります。

とりあえずサーバからのレスポンスを見てみるとエラーの原因が分かりやすいです。
以下のように一時的に dataType を text にして、
console.log() や document.write() で表示してみると良いと思います。

$.ajax('target_url', {
    type: 'POST',
    dataType: 'text', // text に変える
    data: {
        client_data: 'my_data'
    },
    error: function() {
        // エラー
    },
    success: function(response) {
        document.write(response);
        return;  // エラーを表示して抜ける
        ...
    }
});

2014年7月6日日曜日

jQuery.ajax() で "TypeError: Type error"

data に渡すデータタイプが間違っている時に上記エラーが出ます。
例えばコンテキスト(this)を渡していたりするとエラーが出ます。

$.ajax('uri', {
     type: 'POST',
     data: {
         attr: this  // "TypeError: Type error"
     }
});

data に渡している変数をチェックしてみると解決できるかもしれません。