我遇到一个问题,有时候下面的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。)
答案 0 :(得分:1)
尝试为你的jquery ajax调用定义一个error
处理程序并在某处记录错误数据(呃,可能会对错误记录器进行另一次ajax调用?)如果这是一个连接问题,那将会更加困难远程记录任何东西根据您的应用程序,您可能希望在本地记录某些内容(可能是cookie)以进行后验分析(一旦连接启动,假设其存在连接问题)。
答案 1 :(得分:0)
如果出现连接问题,帖子数据只会丢失 - 例如,您可以通过拉出网络电缆来复制此信息,就像您按“提交”一样 - 标题可能会发出,后期数据可能不会 - 标题总是先发送。
所以,我认为你正在研究基础设施。丢失的互联网连接,一些丢失的数据包或类似的东西。我不认为这对开发人员来说是一个问题 - 只要你只接受完全形成的帖子请求。