将$ .post转换为$ .ajax

时间:2012-04-25 11:17:03

标签: jquery ajax .post

我想将$.post调用转换为$.ajax调用,因为我需要为每次调用清理缓存。

我的$.post来电如下:

        $.post("test",   
            function(data) {
                $("#test").html(data);
                initTest();
            }
        ).success(function(){
            $('.box1').hide("slide", {direction: "left"}, 1000);
            $('.box3').show("slide", {direction: "right"}, 1000);
        });

我试过了,但它没有用......

    $.ajax({
          type: "POST",
          url: "test",
          success: function (data) {
              $("#test").html(data);
              $('.box1').hide("slide", {direction: "left"}, 1000);
              $('.box3').show("slide", {direction: "right"}, 1000);
          },
          dataType: "json",
          cache: false
    });

2 个答案:

答案 0 :(得分:2)

$.ajax({
   method:"POST",
   url : "test.php",
   success : function(data) {
                $("#test").html(data);
                initTest();
                 $('.box1').hide("slide", {direction: "left"}, 1000);
     $('.box3').show("slide", {direction: "right"}, 1000);
            },
   cache : false
});

UPDATE 我认为你在解析数据时遇到了问题。默认情况下,$.posthtml dataType。在$.ajax调用中,您在“json”上更改了它。如果没有响应json,那么你有解析错误,成功处理程序不会调用。

答案 1 :(得分:1)

 $.ajax('test')
    .done(function() {
      $('.box1').hide('slide', {direction: 'left'}, 1000);
      $('.box3').show('slide', {direction: 'right'}, 1000);
    })
    .fail(function() { alert('error'); })
    .always(function() { alert('complete'); });