読者です 読者をやめる 読者になる 読者になる

ほげほげ(仮)

仮死状態

jQueryのajaxでdataTypeをjsonにしてみたら

JavaScript PHP


ちょっと久しぶりにjQueryを使ったらハマったのでメモメモ

$.ajax({
    'type': 'POST',
    'url': '/hogehoge',
    'dataType': 'json',
    'data': {'foo': 'foo'},
    'success': function(data) {
    },
    'error': function(XMLHttpRequest, textStatus, errorThrown) {
    }
});

こんな感じでdataTypeをjsonにして処理をしようと思ったら、常にerror関数が呼ばれる状態に陥りました。
で、色々と調べたらJavaScript側じゃなくてサーバー側に問題がありました。


最初は結果を次みたいな形式で返してました。

{'result':'hogehoge'}

でも、これだとダメみたいです。


こっちが正解です。

{"result":"hogehoge"}

違いが分かりにくいかもしれませんが、シングルコーテーションかダブルコーテーションかの違いです。


PHPの場合だと、次のように書くと楽かもしれません。

<?php
echo json_encode(array('result' => 'hogehoge'));
?>


前も同じようなことでハマったような気がするので今度こそメモしておこう。