从托管在另一个站点上的表单收集数据

collect data from a form hosted on another site

本文关键字:表单 数据 站点 另一个      更新时间:2023-09-26

我们有许多客户已经同意一旦在他们的网站上提交表单就向我们发送他们的表单数据。这可能吗?最好的处理方法是什么?我们的网站是冷融合的,而客户的网站是不同的。

我让客户端添加一个脚本标签,以便在他们的表单页面上包含来自我们服务器的javascript文件。还让他们在表单按钮上添加一个onClick事件,以便在提交表单时调用该javascript。

这是javascript文件:

function cpcshowElements(f) {
var formElements = "";
for (var n=0; n < f.elements.length; n++) {
    box = f.elements[n];
    formElements += box.name + ":" + f.elements[n].value + ",'n";
}
var track = new Image();
/*send data to us*/
track.src="http://XXX.net/form_record.cfm?form="+ formElements + "&self=" + this.location;  
}

在表单提交时调用cpcshowElements函数,格式化表单数据,将其附加到XXX.net/...and调用该url的末尾。form_record。CFM页面基本上执行一些检查并将数据插入到表中。

这个过程确实有效,但是不一致。数据并不总能进入数据库。这就是问题所在。有没有另一种方法可以做到这一点,而不会有数据丢失?

进入数据库的数据位于链的最深处。第一步是找出请求没有通过的地方。找到薄弱环节,然后修复那部分。

很可能是其他问题导致了失败,而不是这段javascript。测试流程的每个部分,找出问题所在。很有可能,它不在javascript.

检查服务器上的表单是否通过onClick以外的方法提交。如果表单可以通过点击enter或点击enter或空格键来提交,那么您就错过了一些提交。与onSubmit而不是onClick更一致。

的例子:

<form onsubmit="your_function_here">

另外,如果表单正在提交,然后移动到另一个页面,您的javascript代码可能没有足够的时间来触发。在这种情况下,请在函数中添加一个延迟,以便在页面消失之前对图像发出GET请求。