当jQuery $ .post完成后如何调用函数?

时间:2014-03-19 06:30:19

标签: jquery post

数据正好发布到数据库,但之后都没有调用下面的警报或页面刷新。 https://api.jquery.com/jQuery.post/

$.post(document.URL + '/image', {'image_strength' : _imageStrength}) 
    .done(function(){
        alert('anything');
        location.reload(); 
    });


$.post(document.URL + '/image', {'image_strength' : _imageStrength}, 
    function(){
        alert('asdfasdf');
        location.reload(); 
    });

2 个答案:

答案 0 :(得分:0)

如果延迟对象(在本例中是$.post()的结果)结算,jQuery的deferred.done()函数将仅触发其回调。尝试添加一些.fail().always()回调,您应该至少看到一些结果。试试这个,看看您的$.post()

发生了什么
$.post(document.URL + '/image', {'image_strength' : _imageStrength}) 
    .done(function(){
        alert('anything');
        location.reload(); 
    })
    .fail(function(){
        alert('failed');
    })
    .always(function(){
        alert('finished');
    });

答案 1 :(得分:0)

检查网络服务的响应。例如,在chrome open firebug(右键单击 - > inspect元素)中,而不是选择网络选项卡。调试问题非常有用,您将看到有关Web服务的更多信息,而不是警报()对话框。