2009-10-01 113 views
0

我有非常奇怪的問題,這個問題很少發生,也在我們的生產env。jQuery的奇怪問題ajax後

生產環境。設置是,

Apache Web服務器前面層 的Apache Tomcat 6.0應用服務器(通過mod_jk的使用Apache Web服務器喜歡)

我已經定製的,我們使用jQuery適合於Ajax調用基於Ajax RPC組件。數據使用POST方法進行通信。

客戶端數據(javascript對象)以JSON格式發送到服務器,在服務器端,它們被反序列化爲java對象。

RPC調用是通過提供以下信息來執行,

var jsonParamObj = new Object(); 
jsonParamObj.param0 = objParam0; 
var params = new Object(); 
params.**jsontext**=**toJsonString**(jsonParamObj); 

其中jsontext包含要發送的實際數據。我正在使用toJsonString javascript函數作爲開源json腳本(以前使用過JSON.stringify,但有同樣的問題)。

以下是jQuery的調用,

$.ajax({async:async, 
data:params, 
dataType:"json", 
type:"POST", 
url:this.ajaxAction+qs, 
contentType:"application/x-www-form-urlencoded; charset=UTF-8", 
error:function (XMLHttpRequest, textStatus, errorThrown) 
    { 
    alert('Connectivity Issue : '+textStatus + ' Error : '+errorThrown + ' Response : '+XMLHttpRequest.responseText); 
    }, 
success:function(jsonobj){ 
    if(jsonobj.JSON.ajaxSysError) 
    { 
    alert(jsonobj.JSON.ajaxSysError.message); 
    return; 
    } 

    // do other work 
} 

}); 

現在的問題是,有時無論在則params的形式發送的數據沒有達到服務器(不阿帕奇以及Tomcat)的我已經啓用了冗長的最高水平但是無論通過查詢字符串發送的任何數據(請參閱qs)到達服務器。

客戶端瀏覽器是IE 7(Windows XP Media Edition)。

你能否提出一些想法來幫助我調試這個問題。

感謝您閱讀這個長長的問題。

Jatan

+2

您是否看到數據由您的瀏覽器發佈?請使用網絡標籤中的Firebug和擴展Firebug進行檢查。 – powtac 2009-10-01 19:28:24

+0

這是我做的第一件事,但我無法模擬Firefox中的場景。 – jatanp 2009-10-01 19:37:20

+0

因此,您在Firebug或Fiddler中看不到發佈數據? – powtac 2009-10-01 19:52:21

回答

1

安裝Fiddler,並期待在該IE被髮送HTTP請求。

此外,將ajax調用放在try/catch塊中,並檢查是否收到任何Javascript錯誤。