在jQuery AJAX帖子中,是否有可能不发送数据有效负载?

时间:2009-11-02 09:03:11

标签: jquery ajax

我遇到一个问题,有时候下面的AJAX代码中的数据有效负载不会发送到服务器。

// loans_url, sample_id, sample defined above this block
$.ajax({
  type:       "POST",
  url:        loans_url,
  data:       {'loan[sample_id]':sample_id},
  beforeSend: function()     { sample.remove(); },
  success:    function(data) { $('#basket table tr:last').after(data); },
  error:      function()     { $('#results').prepend("Apologetic error message..."); }
});

“好”帖子发送的数据如下所示:loan[sample_id]: 1234。 “糟糕”的帖子会点击正确的网址,但根本不会发送任何数据。

我无法在开发中重现这一点,但它每天都会在生产中发生一次。在Firebug中,我尝试在获取sample_id的页面中破坏标记,但这只会导致loan[sample_id]: undefined被发送,这不是我面临的问题。

有没有办法根本不发送数据有效载荷?你能建议我如何进一步调试吗? (这都是jQuery 1.3.2。)

2 个答案:

答案 0 :(得分:1)

尝试为你的jquery ajax调用定义一个error处理程序并在某处记录错误数据(呃,可能会对错误记录器进行另一次ajax调用?)如果这是一个连接问题,那将会更加困难远程记录任何东西根据您的应用程序,您可能希望在本地记录某些内容(可能是cookie)以进行后验分析(一旦连接启动,假设其存在连接问题)。

答案 1 :(得分:0)

如果出现连接问题,帖子数据只会丢失 - 例如,您可以通过拉出网络电缆来复制此信息,就像您按“提交”一样 - 标题可能会发出,后期数据可能不会 - 标题总是先发送。

所以,我认为你正在研究基础设施。丢失的互联网连接,一些丢失的数据包或类似的东西。我不认为这对开发人员来说是一个问题 - 只要你只接受完全形成的帖子请求。