2012-04-25 166 views
-4

我想將我的$.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

您是否打算閱讀[documentation](http://api.jquery.com/jQuery.post/)?這是它提到的第一件事。 – Jon 2012-04-25 11:20:06

+1

是的..當然..但它不起作用 – newbie 2012-04-25 11:23:21

+0

什麼不工作?也許是因爲url =「test」? – 2012-04-25 11:23:45

回答

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 我認爲你有問題,在分析數據。 $.post默認爲html dataType。在$.ajax調用你改變它的「json」。如果沒有json響應,所以你有解析錯誤和成功處理程序不打電話。

+0

tnx ..我剛剛刪除了數據類型,它的工作原理! – newbie 2012-04-25 11:34:34

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'); });