如何解决使用Axios将请求发布到Pardot FormHandler,CORS问题
我正在尝试使用 Axios 向 Pardot FormHandler 发送请求,但是无法发送数据。 Pardot抛出CORS错误。我进行了一些搜索,看来pardot
表单没有接受来自Axios / Ajax的任何数据。因此,为防止这种情况,我尝试将其发送为formdata
,如下所示...
submit(){
var bodyFormData = new FormData();
bodyFormData.append('LastName',"test");
bodyFormData.append('FirstName',"test");
bodyFormData.append('email',"example@gmail.com");
axios({
method: 'post',url: 'https://go.pardot.com/l/pardotformurl',data: bodyFormData,headers: {'Content-Type': 'multipart/form-data' }
})
.then(res => {
console.log(res);
})
.catch(err => {
console.log(err);
})
},
我将其作为formdata
发送,但仍然出错。顺便说说。如果我不使用axios,而只是将其作为<form actions="/" method="post" />
发送,那就没有问题了。但是,我需要为此工作使用axios
。那么总有办法解决这个问题吗??
解决方法
Pardot不支持通过axios,fetch或XHR向表单处理程序提交数据。尝试使用它向表单处理程序提交数据时,您可能会看到类似以下错误:
No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin '{page from which form handler should be getting submitted on client's website}' is therefore not allowed access.
这就是所谓的CORS(跨源资源共享)。 Pardot当前不支持表单处理程序的CORS或JSONP。通过将表单处理程序的成功和错误URL设置为分别执行成功和错误回调的JavaScript URL,可以模拟JSONP响应。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。