在jquery ajax发布成功后调用方法

时间:2022-10-10 19:40:49

I'm trying to call a method uploadedImagesRefresh() when the POST request is successful. The code works sometimes but sometimes it fails to call the uploadedImagesRefresh() but I must say the backend is okay and the Post requests completes successfully.

我正在尝试在POST请求成功时调用方法uploadedImagesRefresh()。代码有时会工作,但有时它无法调用uploadedImagesRefresh(),但我必须说后端是可以的,并且Post请求成功完成。

function refreshUploadedImages() {//this
    //function works quite well in other calls
}

$(function(){
    //
    $('.delete-img-btn').live('click', function() {

        //asign the image id from the button attribute 'img-id'
        var id= $(this).attr('img-id');
        //The data to be send via ajax the server will recieve 2 POST variables ie. 'action' and 'id'(which is the img id)
        var data={
            'pk':id,
            //call refreshUploadImages() upon succesful post
            'success':refreshUploadedImages
        };
        //The ajax request.

        $.post("/admin/image-uploader/delete/"+id , data);

    });
});

What am I doing wrong in the above code?

我在上面的代码中做错了什么?

1 个解决方案

#1


5  

Add a callback. That would be the third parameter for $.post(). That callback function gets called when the AJAX POST request is successful. In that function, you can call your function.

添加回调。这将是$ .post()的第三个参数。当AJAX POST请求成功时,将调用该回调函数。在该功能中,您可以调用您的功能。

$.post("/admin/image-uploader/delete/"+id , data,function(data){
  refreshUploadedImages()
});

You can even be straighforward, and make your function the callback instead:

你甚至可以直截了当,而是让你的函数成为回调:

$.post("/admin/image-uploader/delete/"+id , data, refreshUploadedImages);

#1


5  

Add a callback. That would be the third parameter for $.post(). That callback function gets called when the AJAX POST request is successful. In that function, you can call your function.

添加回调。这将是$ .post()的第三个参数。当AJAX POST请求成功时,将调用该回调函数。在该功能中,您可以调用您的功能。

$.post("/admin/image-uploader/delete/"+id , data,function(data){
  refreshUploadedImages()
});

You can even be straighforward, and make your function the callback instead:

你甚至可以直截了当,而是让你的函数成为回调:

$.post("/admin/image-uploader/delete/"+id , data, refreshUploadedImages);