小编典典

使用JavaScript URL模拟JSONP响应

ajax

我在WP网站上使用Gravity Forms。我的表单使用Pardot 表单处理程序通过ajax到Pardot进行POST
。我遇到一个问题,Pardot处理6x表单,没有其他错误。研究表明,这是因为Pardot不支持CORS或JSONP,因此在使用ajax提交时陷入了循环。当表单处理程序的成功URL设置为引用URL时,它正在处理提交,但从不“完成”。它会在放弃之前尝试使用6倍,每次处理提交的数据并发送新的潜在客户通知电子邮件。

Pardot
帮助文档建议以下解决方案:

通过将表单处理程序的成功和错误URL设置为分别执行成功和错误回调的JavaScript URL,可以模拟JSONP响应。

我不确定这意味着什么或如何解决。我已经做了一些stackoverflowing和Google搜寻,但似乎无法将注意力集中在如何做上。有人可以帮助您澄清这个概念或为我指明正确的方向吗?

谢谢!


阅读 183

收藏
2020-07-26

共1个答案

小编典典

Pardot建议的是在自己的服务器上创建2个静态URL,这些URL返回简单的JSON响应。

因此,例如:

  1. mysite.com/pardot-success

返回值: {"result":"success"}

  1. mysite.com/pardot-error

返回值: {"result":"error"}

然后,您将使用这两个URL作为Pardot表单处理程序设置的成功URL和错误重定向URL。

然后可以使用JSONP向您的Pardot表单处理程序发出AJAX请求,该请求将包装并返回其中一个URL的JSON响应(取决于结果)。

您的AJAX响应数据将包括您的JSON结果(成功或错误)。

2020-07-26