jQuery ajax帖子的奇怪问题

时间:2009-10-01 19:24:53

标签: javascript jquery internet-explorer-7

我有一个非常奇怪的问题,这个问题很少发生,在我们的生产环境中也是如此。

生产环境设置是,

Apache Web Server作为前层 Apache Tomcat 6.0作为应用程序服务器(通过mod_jk与Apache Web服务器一起使用)

我有定制的基于Ajax的RPC组件,我们使用jQuery进行ajax调用。使用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形式发送的数据无法到达服务器(不是apache以及tomcat)我已经在日志中启用了最高级别的详细程度,但是它通过查询字符串发送的数据(请参阅 qs )到达服务器。

客户端浏览器是IE 7(Windows XP Media Edition)。

您能否提出一些有助于我调试此问题的想法。

感谢您阅读这个长期的问题。

Jatan

1 个答案:

答案 0 :(得分:1)

安装Fiddler并查看IE正在发送的HTTP请求。

另外,将ajax调用放在try / catch块中,检查是否有任何Javascript错误。