如何解决wordpress 中的 AJAX 调用只能在开发计算机上工作
我正在通过 eventListener 从 CF7 联系表单捕获提交事件。它不应阻止默认操作,即简单地向我的地址发送邮件,而是将输入的表单数据添加到自定义表中。
在我的计算机上提交表单时效果很好 - 即使系统在服务器上运行。但它不适用于任何其他设备。相反,我收到了一个 400 Bad Request,根本没有任何其他信息。
以前有人遇到过这个问题吗?
var wpcf7Elm = document.querySelector('.wpcf7');
wpcf7Elm.addEventListener('wpcf7submit',function (e) {
// Get input,save it as JSON object
var inputs = e.detail.inputs;
var data = {};
inputs.forEach(function(value,key){
data[value.name] = value.value;
});
var json = JSON.parse(data);
// Get form ID,the following code should only be executed for a specific WPCF7 form
var form_id = e.detail.contactFormId;
if (form_id === '244') {
// Ajax request to save data to table
jQuery.ajax({
type : "post",url : myAjax.ajaxurl,data : json,datatype: 'json',contentType: 'application/json',success: function(response) {
// nothing to do so far
}
});
}
},false);
add_action( 'init','my_script_enqueuer' );
function my_script_enqueuer() {
wp_register_script( "my_booking_script",get_stylesheet_directory_uri().'/js/edit_guest.js',array('jquery') );
wp_localize_script( 'my_booking_script','myAjax',array( 'ajaxurl' => admin_url( 'admin-ajax.PHP' )));
wp_enqueue_script( 'jquery' );
wp_enqueue_script( 'my_booking_script' );
}
add_action("wp_ajax_add_booking","add_booking");
function add_booking() {
global $wpdb;
var_dump($_POST);
// DB insert here ...
die();
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。