JQuery Ajax получает «успех» или «перезагрузка» - тестирование для каждого? - PullRequest
0 голосов
/ 12 июля 2011

Я довольно новичок в AJAX. Однако я довольно далеко.

$.ajax({
        url: loadUrl,
        dataType: "html",
        timeout: 5000,
        cache: false,
        // async: false,
        success: function(html,textStatus) {
            $("div." + targetBox).html(html);
            console.log(textStatus);

Если эта функция называется контейнером div на моей странице, обновляется следующий html-файл, поступающий с сервера в виде строки json.

’{"status":"reload", "data":"/ajax/mowl/1/comments"}’

Бэкэнд-разработчик говорит, что статус может быть «успешным» или «перезагрузить».

Если статус успешен, я просто хочу показать данные в виде сообщения. Если придет перезагрузка статуса, я хочу перезагрузить текущий div с URL, переданным в данных.

Так что сейчас при запуске этой функции ajax мой контейнер div просто вставляет это сообщение ’{" status ":" reload "," data ":" / ajax / mowl / 1 / comments "} в виде html. Однако я не хочу этого, а скорее хочу проверить, является ли статус «успешным» или «перезагрузить», а затем реагировать на него.

Есть идеи, как это сделать?

1 Ответ

0 голосов
/ 12 июля 2011

ваш тип данных должен быть JSON dataType: json,, поэтому:

url: loadUrl,
dataType: json,
...
success: function(data) {
if(data.succes == "reload"){
 // some AJAX here that gets the HTMl from data.data (in this case '/ajax/mowl/1/comments')
$("div." + targetBox).html(data.data);
 ...

здесь данные в объекте с элементами 'status' и 'data', к которым вы можете получить доступ к этому сценарию, поместят URL-адрес вDIV

PS взгляните на: http://api.jquery.com/jQuery.getJSON/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...