2009-10-01 53 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错误。