2011-11-17 41 views
1

爲什麼此腳本在Firefox和Chrome中運行得非常好,但在IE中卻不行?我使用的是IE8,並且它始終返回-1。它似乎也沒有被緩存。另外ajaxurl不是跨域,頁面在同一個域中。使用IE時來自Ajax調用的錯誤響應

jQuery('#btnqqf').click(function(e){ 
    e.preventDefault();    


    jQuery.ajaxSetup({cache: false, timeout: (300*1000)}); 
    var data = {action: 'qqf_action', txtName: jQuery('#txtName').val()}; 

    var d = new Date(); 
    jQuery.post(ajaxurl + '?nocache=' + d.getTime(), data, function(response) { 
    alert(response);    

}); 
});  
+0

我相信txtName應該是jQuer Y( '#txtName的')VAL(); –

+0

您是否嘗試在您的ajaxSetup中添加'dataType:'json''(如果它是json) – alinn

+0

沒有設置dataType的運氣。我試過json,text,xml,html等。腳本只返回一個字符串。 – SirM

回答

0

此:

add_action('wp_ajax_no_priv_qqf_action', 'qqf_action_callback');` 

應該是:

add_action('wp_ajax_nopriv_qqf_action', 'qqf_action_callback'); 
0

也許IE不設置所需的MIME類型或其他一些標題..嘗試通過處理所有事件調試它:

jQuery.post(ajaxurl + '?nocache=' + d.getTime(), data) 
    .success(function(response) { 
     alert("success! " + response); 
    }) 
    .error(function() { 
     alert("error"); 
    }) 
    .complete(function() { 
     alert("complete"); 
    });