【发布时间】:2019-01-21 16:03:32
【问题描述】:
我有 jQuery Ajax 将表单数据发送到 WordPress 函数。
PHP 函数以字符串形式获取数据,例如“navn=A&navn2=B”,我使用 explode() 函数访问单个表单元素。
我认为有一种更好的方法可以直接访问作为 JSON 对象数组的表单数据。但我想不通。
我该如何解决?
这是我的 HTML/jQuery:
<form id='minForm' method="post" action="">
<input type="text" name="navn" value="A">
<input type="text" name="navn2" value="B">
<button>Send</button>
</form>
<script>
jQuery(document).ready(function($) {
var form = $('#minForm');
$(form).submit(function(event) {
event.preventDefault();
var formData = $(form).serialize();
$.ajax({
type: "POST",
url: '/wp-admin/admin-ajax.php',
data: {
action : 'my_ajax_action',
formData : formData,
},
success:function(data) {
console.log(data);
},
});
});
});
</script>
这是我的 PHP:
add_action('wp_ajax_my_ajax_action', 'my_ajax_action_callback');
function my_ajax_action_callback() {
$form_data = $_POST['formData'];
$form_data_array = explode('&', $form_data);
foreach ($form_data_array as $i) {
echo explode('=', $i)[1] . '<BR>';
}
wp_die(); // Required. to end Ajax request.
}
【问题讨论】:
-
parse_str函数 -
谢谢,不错的功能。不确定我是否应该更喜欢这个解决方案而不是其他答案。 BR
标签: php jquery json ajax wordpress