如何解决无法在 Wp-Ajax/xmlhttpReq 问题上发布数据
无法在 Wp-ajax 上发布数据
我有一个名为 Contactform 7 的 wp 插件。 我在我的网站上使用它让任何人通过电子邮件与我联系。 联系表 7 上有姓名、电子邮件和消息框以及标签。 当有人填写表格并点击提交按钮时, 如果他/她的邮件成功发送给我,我会用 PHP 生成一个随机参考 ID 并通过更改标签的文本将其提供给用户。 和我想要,生成的参考也随电子邮件一起发送。我在我的电子邮件中得到了姓名、电子邮件、消息和参考。 (我使用 SMTP 到 Gmail, 但这不是问题。) 问题是,我无法在电子邮件中获取生成的参考。 我尝试了 ajax、jquery、xmlhttpReq 等,我也在这里看到了一些问题的答案, 但我无法解决问题。 (我不擅长 Jquery、ajax 和 xmlhttpReq)
我知道我通常无法向 PHP 发送 js 变量值
因为PHP首先在前端生成然后js。 我推荐了很多行,我测试过,但没有结果-_- 在这里,我只是发送给定的电子邮件作为测试 perpous 的参考。
//START custom code of billi
function my_theme_scripts() {
wp_deregister_script('jquery');
wp_enqueue_script('jquery','https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js',array(),null,true);
// wp_enqueue_script( get_template_directory_uri() . './js/jquery-3.6.0.min.js' );
}
add_action( 'wp_enqueue_scripts','my_theme_scripts' );
//custom ajax FUNCTION
add_action( 'wp_footer','my_ajax_function' );
// add_action( 'admin_footer','my_ajax_function' );
// add_action('wp_ajax_my_ajax_action','my_ajax_function');
// add_action('wp_ajax_noprev_my_ajax_action','my_ajax_function');
function my_ajax_function(){
$ajaxurl = admin_url('admin-ajax.PHP')
?>
<script type="text/javascript">
var wpcf7Elm = document.querySelector( '.wpcf7' );
wpcf7Elm.addEventListener( 'wpcf7mailsent',function ( event ) {
var xmail = document.getElementById('xmail').value;
xlabelid=document.getElementById('xlabelid');
xlabelid.innerText = 'Post Reference: '+xmail;
//for get and set the label(which show ref id) ..
// $.ajax({
// type : "POST",// url : '<?PHP echo $ajaxurl?>',// data: ({
// action: 'my_action',// 'refx': xmail
// }),// success: function( response ) {
// }
// });
jQuery(document).ready(function($){
var data = {
'action': 'my_action','refx': xmail
};
var ajaxurl = '<?PHP echo $ajaxurl?>';
jQuery.post(ajaxurl,data,function(response) {
console.log(ajaxurl+"\n"+ response+ "\n"+ data);
});
});
},false);
</script>
<?PHP
}
// add_action('wp_ajax_my_action','my_action');
// add_action('wp_ajax_noprev_my_action','my_action');
//here I just trying to find out any ways.. But I cant
// function my_action(){
// global $wpdb;
// global $refx;
// //$refx = intval($_POST['refx']);
// $refx = $_POST['data'];
// //echo $refx;
// //$refx = 'billi';
// //wp_die();
// }
/**
* tag in "Mail" section so the user receives the special tag
* [xid]
*/
// --------------------------------------------------------------------
add_filter('wpcf7_special_mail_tags','my_tag_xid',10,3);
add_action('wp_ajax_my_tag_xid_action','my_tag_xid');
function my_tag_xid($output,$name,$html)
{
//my_action();
//global $refx;
//require_once('./uniqueIdGen.PHP');
$name = preg_replace('/^wpcf7\./','_',$name); // for back-compat
// include 'uniqueIdGen.PHP';
if ('xid' == $name) {
//$output = $refx;
//return $output; //this output goes to email
return $output= $_POST['data'];
}
return $output;
}
// --------------------------------------------------------------------
//END Custom code of billi
I got this error(errors Image is here)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。