在 wixFormSubmit() 上发出 POST 请求
Make a POST request on wixFormSubmit()
我有一个 Wix 表单,配置为发送包含表单数据的电子邮件,并只在页面上显示确认消息。我被要求添加第二个请求以将相同的表单数据发送到不同的服务器。我能够使用 onWixFormSubmited()
将数据发送到后端
export function wixForms1_wixFormSubmitted() {
let data = {
first_name: $w('#input5').value,
last_name: $w('#input4').value,
email: $w('#input3').value,
}
saveProspectToCRM(data)
.then(function(response) {
console.log('it was successfull');
console.log(response);
});
}
import {fetch} from 'wix-fetch';
export async function saveProspectToCRM(params) {
const url = 'myurl';
let data = {
//encoded data
};
return fetch(url,{
method: 'post',
body: data,
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
}).then(function(response) {
if (response.status >= 200 && response.status < 300) {
return response.text();
} else {
throw new Error(response.statusText);
}
});
}
这确实有效,正在发送电子邮件并将数据 post 发送到我的另一台服务器,但我有第二个 Wix 表单,唯一的区别是这个表单在提交后重定向到另一个页面,而不是只是显示一条消息。我的代码不适用于第二种形式。我尝试将 onWixFormSubmitted 更改为 onWixFormSubmit 但仍然无法正常工作。
我在文档中读到 onWixFormSubmit 只处理同步操作,我假设第一种形式有效,因为用户没有被重定向到不同的页面。任何人都可以告诉我我做错了什么或者保持表单配置(发送电子邮件)和 POST 将数据发送到服务器的最佳方法是什么?
wixFormSubmitted() 提交后带有重定向 return 功能。其余代码将被忽略。
你应该做的是切换回成功消息并隐藏它。
对于重定向,您始终可以在 API 响应后使用 wix-location。
import wixLocation from 'wix-location';
// ...
wixLocation.to("/about-me");
我有一个 Wix 表单,配置为发送包含表单数据的电子邮件,并只在页面上显示确认消息。我被要求添加第二个请求以将相同的表单数据发送到不同的服务器。我能够使用 onWixFormSubmited()
将数据发送到后端export function wixForms1_wixFormSubmitted() {
let data = {
first_name: $w('#input5').value,
last_name: $w('#input4').value,
email: $w('#input3').value,
}
saveProspectToCRM(data)
.then(function(response) {
console.log('it was successfull');
console.log(response);
});
}
import {fetch} from 'wix-fetch';
export async function saveProspectToCRM(params) {
const url = 'myurl';
let data = {
//encoded data
};
return fetch(url,{
method: 'post',
body: data,
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
}).then(function(response) {
if (response.status >= 200 && response.status < 300) {
return response.text();
} else {
throw new Error(response.statusText);
}
});
}
这确实有效,正在发送电子邮件并将数据 post 发送到我的另一台服务器,但我有第二个 Wix 表单,唯一的区别是这个表单在提交后重定向到另一个页面,而不是只是显示一条消息。我的代码不适用于第二种形式。我尝试将 onWixFormSubmitted 更改为 onWixFormSubmit 但仍然无法正常工作。
我在文档中读到 onWixFormSubmit 只处理同步操作,我假设第一种形式有效,因为用户没有被重定向到不同的页面。任何人都可以告诉我我做错了什么或者保持表单配置(发送电子邮件)和 POST 将数据发送到服务器的最佳方法是什么?
wixFormSubmitted() 提交后带有重定向 return 功能。其余代码将被忽略。
你应该做的是切换回成功消息并隐藏它。
对于重定向,您始终可以在 API 响应后使用 wix-location。
import wixLocation from 'wix-location';
// ...
wixLocation.to("/about-me");