Как проверить AJAX-пост с помощью jQuery - PullRequest
0 голосов
/ 22 апреля 2011

У меня есть следующая функция, которая открывает диалоговое окно предупреждения jQuery UI об удалении записи. Все отлично работает, кроме POST с AJAX. Я получаю ответ об "успехе", но я не верю, что попал на страницу .php, которая должна выполнить запрос. Я что-то здесь упускаю?

var $dialog = $("#dialog").dialog({ autoOpen: false, resizable: false, modal: true });

    $(".delProj").click(function(){ 
        var delURL = $(this).attr("href").split("#");
        var projID = delURL[1];
        $dialog.dialog("open");
        $("#dialog").dialog({
            buttons: {
                "Yes, delete this test": function() {
                    $.ajax({
                        type: "POST",
                        url: "http://www.example.com/inc/db_actions.php",
                        data: "op=DeleteProject&delete="+projID,
                        success: function(){
                          //  alert( "Test Project deleted successfully." );
                          $("#"+projID).remove();
                        }
                    });
                    $(this).dialog("close");
                },
                "No, keep it.": function() {
                    $(this).dialog("close");
                }
            }
        });
    });

Ответы [ 2 ]

6 голосов
/ 22 апреля 2011

Сделайте свою страницу php с именем echo что-то

PHP

echo 'hello world';

Javascript

Добавьте возвращаемое значениеобратный вызов (здесь data) и попытайтесь показать его с помощью js.

[..]

success: function(data){
    alert(data);
}

[...]

3 голосов
/ 22 апреля 2011

Обычно я отправляю некоторую форму ответа через данные в формате JSON, чтобы мои запросы AJAX знали, выполнили ли они то, что намеревались сделать. Что-то вроде:

Сценарий:

$.ajax({
    type: "POST",
    url: "http://www.mydomain.com/inc/db_actions.php",
    data: "op=DeleteProject&delete="+projID,
    success: function(data){
        if(data.success == true)
        {
            $("#"+projID).remove();
        }
});

PHP:

// do something
echo json_encode(array('success'=>true));

Изменить:

Как правило, хорошо ловить ошибки Ajax:

$.ajax({
    type: "POST",
    url: "http://www.mydomain.com/inc/db_actions.php",
    data: "op=DeleteProject&delete="+projID,
    success: function(data){
        if(data.success == true)
        {
            $("#"+projID).remove();
        }
    },
    error: function(){
        alert('something bad happened');
    }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...