我在WP网站上使用Gravity Forms。我的表单使用Pardot 表单处理程序通过ajax到Pardot进行POST 。我遇到一个问题,Pardot处理6x表单,没有其他错误。研究表明,这是因为Pardot不支持CORS或JSONP,因此在使用ajax提交时陷入了循环。当表单处理程序的成功URL设置为引用URL时,它正在处理提交,但从不“完成”。它会在放弃之前尝试使用6倍,每次处理提交的数据并发送新的潜在客户通知电子邮件。
Pardot 帮助文档建议以下解决方案:
通过将表单处理程序的成功和错误URL设置为分别执行成功和错误回调的JavaScript URL,可以模拟JSONP响应。
我不确定这意味着什么或如何解决。我已经做了一些stackoverflowing和Google搜寻,但似乎无法将注意力集中在如何做上。有人可以帮助您澄清这个概念或为我指明正确的方向吗?
谢谢!
Pardot建议的是在自己的服务器上创建2个静态URL,这些URL返回简单的JSON响应。
因此,例如:
mysite.com/pardot-success
返回值: {"result":"success"}
{"result":"success"}
mysite.com/pardot-error
返回值: {"result":"error"}
{"result":"error"}
然后,您将使用这两个URL作为Pardot表单处理程序设置的成功URL和错误重定向URL。
然后可以使用JSONP向您的Pardot表单处理程序发出AJAX请求,该请求将包装并返回其中一个URL的JSON响应(取决于结果)。
您的AJAX响应数据将包括您的JSON结果(成功或错误)。