Как ответить Ajax? - PullRequest
       27

Как ответить Ajax?

1 голос
/ 23 января 2012

У меня есть поле, которое делает ajax-запрос на ввод данных пользователем, и я хочу ответить на него с помощью объекта json. Я использую функцию jQuery $.getJSON с URL ?page=answersearch, но она не работает. Вместо того, чтобы отвечать данными типа json, он отправляет данные типа text / html. Как это сделать?

1 Ответ

2 голосов
/ 23 января 2012

Если вы получаете строку текста из запроса AJAX, независимо от объявленного MIME-типа, вы можете использовать функцию 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% необходимо.

...