使用 JSON 发送什么参数 Contact Form 7 使用 API
What Parameter Contact Form 7 using JSON to sent using API
我想为联系表 7 创建 API。
如何使用 WP rest api 从前端向 Contact Form 7 发送数据?
我的意思是,要通过 POST 方法发送数据结构应该是什么?
http://xx.xxx/wp-json/contact-form-7/v1/contact-forms/<id-form>/feedback
我尝试了不同的方法,但总是请求 return 响应“validation_failed”,“一个或多个字段包含错误数据。请检查并重试。”
我在文档中没有找到任何相关信息。
add_filter( 'wpcf7_mail_components', 'show_cf7_request', 10, 3 );
function show_cf7_request( $components, $wpcf7_get_current_contact_form, $instance ) {
print_r($_REQUEST);
die();
return $components;
};
不要尝试 LIVE ;)
您找到解决方案了吗?我一直在使用 Contact Form 7 REST API,您需要做一些事情才能获得 'success' 响应,而不是 validation_failed
。
首先,您需要知道您需要提交哪些表单字段。这是在您的 CF7 联系表中设置的。该字段的名称在联系表中定义。 CF7 最有可能使用命名结构 your-name
和 your-email
。所以你需要格式化你的 post 正文来匹配它。
接下来,您需要使用 FormData()
https://developer.mozilla.org/en-US/docs/Web/API/FormData 提交。根据个人经验,我发现如果我使用 post 作为普通对象发送我的请求,CF7 会返回 validation_failed
。
注意:我使用的是Nuxt的http
包来提交数据,但是你可以在这里使用axios。
// Format your body response
const emailBody = {
"your-name": this.form.name,
"your-email": this.form.email,
"your-message": this.form.message,
};
// Create a FormData object, and append each field to the object
const form = new FormData();
for (const field in emailBody) {
form.append(field, emailBody[field]);
}
// Submit your form body using axios, or any other way you would like
const response = await this.$http.post(this.getEndEndpoint, form);
这对我有用,我不再获得状态 validation_failed
。相反,我现在获得 spam
状态。现在正在尝试解决这个问题
祝你好运
我想为联系表 7 创建 API。
如何使用 WP rest api 从前端向 Contact Form 7 发送数据? 我的意思是,要通过 POST 方法发送数据结构应该是什么?
http://xx.xxx/wp-json/contact-form-7/v1/contact-forms/<id-form>/feedback
我尝试了不同的方法,但总是请求 return 响应“validation_failed”,“一个或多个字段包含错误数据。请检查并重试。”
我在文档中没有找到任何相关信息。
add_filter( 'wpcf7_mail_components', 'show_cf7_request', 10, 3 );
function show_cf7_request( $components, $wpcf7_get_current_contact_form, $instance ) {
print_r($_REQUEST);
die();
return $components;
};
不要尝试 LIVE ;)
您找到解决方案了吗?我一直在使用 Contact Form 7 REST API,您需要做一些事情才能获得 'success' 响应,而不是 validation_failed
。
首先,您需要知道您需要提交哪些表单字段。这是在您的 CF7 联系表中设置的。该字段的名称在联系表中定义。 CF7 最有可能使用命名结构 your-name
和 your-email
。所以你需要格式化你的 post 正文来匹配它。
接下来,您需要使用 FormData()
https://developer.mozilla.org/en-US/docs/Web/API/FormData 提交。根据个人经验,我发现如果我使用 post 作为普通对象发送我的请求,CF7 会返回 validation_failed
。
注意:我使用的是Nuxt的http
包来提交数据,但是你可以在这里使用axios。
// Format your body response
const emailBody = {
"your-name": this.form.name,
"your-email": this.form.email,
"your-message": this.form.message,
};
// Create a FormData object, and append each field to the object
const form = new FormData();
for (const field in emailBody) {
form.append(field, emailBody[field]);
}
// Submit your form body using axios, or any other way you would like
const response = await this.$http.post(this.getEndEndpoint, form);
这对我有用,我不再获得状态 validation_failed
。相反,我现在获得 spam
状态。现在正在尝试解决这个问题
祝你好运