1

ユーザー入力に対して ajax リクエストを行うフィールドがあり、json オブジェクトで応答したいと考えています。$.getJSONurlでjQuery 関数を使用?page=answersearchしていますが、機能しません。json 型のデータで応答する代わりに、text/html 型のデータを送信します。どうやってするの?

4

1 に答える 1

2

宣言された MIME タイプに関係なく、AJAX リクエストからテキストの文字列を取得する場合は、jQuery の $.parseJSON 関数を使用できます。

$.ajax({
    url: '/someurl',
    type: 'get',
    data: {
        page: 'answersearch'
    },
    success: function(rsp) {
        if (typeof rsp === 'string') {
            rsp = $.parseJSON(rsp);
        }
        // rsp has been changed from a string into an object.
    }
});

また、サーバー側では、Content-Type ヘッダーを設定したい場合があります。

header('Content-Type: text/json')

ただし、100% 必要というわけではありません。

于 2012-01-23T09:19:21.533 に答える