javascript - 将表单数据和操作发送到 wordpress admin-ajax.php
问题描述
我有一个表格,我想将其数据发送到admin-ajax
:
<form method="POST" id="form">
<input type="text" name="name">
<input type="number" name="phone">
<input type="email" name="email">
<textarea name="overview"></textarea>
<input type="submit" name="submit" id="submit" value="Submit">
</form>
使用 Ajax 发送数据的 Javascript/jQuery 代码:
document.getElementById('submit').addEventListener('click', function(e){
e.preventDefault();
var form_data = $('#form').serialize();
$.ajax('http://mywebsite.com/wordpress/wp-admin/admin-ajax.php', {
method: "POST",
data: form_data + {action: 'my_action'},
success: function (response) {
console.log(response);
},
error: function (err) {
console.log('Error:' + err);
}
});
});
也试过formData
:
var form_data = new FormData();
form_data.append('form', $('#custom').serialize());
form_data.append('action', 'my_action');
如何发送表单数据和操作my_action
?
解决方案
您需要将此行从更改data: form_data + {action: 'my_action'},
为data: {action: 'my_action', form_data:form_data},
jQuery(document).on("click","#submit", function(){
e.preventDefault();
var form_data =jQuery('#form').serializeArray();
jQuery.ajax('http://mywebsite.com/wordpress/wp-admin/admin-ajax.php', {
method: "POST",
data: {action: 'my_action', form_data:form_data},
success: function (response) {
console.log(response);
},
error: function (err) {
console.log('Error:' + err);
}
});
});
并将输入类型更改submit
为button
.
推荐阅读
- python - TensorFlow 不兼容的形状二进制分类
- spring-boot - 是否可以通过单击 JSP 页面上的按钮来控制循环(forEach)?
- rust - 字符串变量赋值期间的 E0308
- python - Heroku dyno 没有出现
- c# - asp.net - 如何从 post 方法中获取价值
- java - 生成器是抽象的;无法实例化。为什么?
- python-packaging - 管理 python 依赖项以安装其他包
- javascript - Javascript Promise - 拒绝或解析数据库中的空结果
- c# - 如何使自定义按钮响应更流畅?
- angular - 在 Angular 中,是否可以在模板内部创建一个复制对象?