2011-06-10 6 views
1

Ajax call работает и удаляет файл с помощью unlink, однако успех не вызывается. Я использую ту же самую точную функцию ajax в другом месте, только с событием .click(), а не с .live(). Это может быть проблема?Успех JQuery Ajax не называется

$ ('picture_delete') жить ("щелчок", функция() {
$ .ajax ({

URL:. UrlWithArguments,

async: false, 
    success: function() { 
     alert("YAY!");    
    } 

}) ; // json });

Это только соответствующая строка кода выполняется:

Unlink ($ DeleteMe);

ответ

2

Функция success() обычно вызывается, когда возвращается код ответа 200. Заполняет ли ваш PHP-код запрос или он зависает?

Вы пытались использовать Firebug и т. Д., Чтобы увидеть, как выглядит ответ из вашего PHP-файла?

+0

+1 Событие, хотя я я использую MVC, это привело меня к [этому сообщению] (http://stackoverflow.com/questions/5072804/how-to-return-a-200-http-status-code-from-asp-net-mvc-3- контроллер) – onetwopunch

1

Во-первых, вы должны проверить, является ли срабатывает событие OnClick:

$('.picture_delete').live('click', function() { 

    console.log('onclick event triggered'); // or you can do: alert('onclick event triggered'); 

    $.ajax({ 
    url: 'UrlWithArguments', 
    async: false, 
    success: function() { 
     alert('YAY!');    
    } 
    }); 
}); 

Если OnClick событие срабатывает, вы должны проверить, успешно ли вызов Ajax или не:

$('.picture_delete').live('click', function() { 
    $.ajax({ 
    url: 'UrlWithArguments', 
    async: false, 
    error: function(jqXHR, textStatus, errorThrown) { 
     console.log('AJAX call failed: '+textStatus+' '+errorThrown); // or you can do: alert('AJAX call failed: '+textStatus+' '+errorThrown'); 
    }, 
    success: function() { 
     alert('YAY!');    
    } 
    }); 
}); 
Смежные вопросы