我的js文件在这里。
function sayHelloWorld() {
window.alert('hey');
$.ajax({
url: 'admin-ajax.php',//I wrote absolute path here.
type:'POST',
data: {
'action': "mon_action",
'newFormRecherche': 'newFormRecherche'
},
timeout:10000,
}).done(function(data) {
window.alert(data);
}).fail(function(XMLHttpRequest, textStatus, errorThrown) {
window.alert("error");
});
functions.php 在这里。
add_action( 'wp_ajax_mon_action', 'mon_action' );
add_action( 'wp_ajax_nopriv_mon_action', 'mon_action' );
function mon_action() {
if (isset($_POST["newFormRecherche"])) {
$field1='hey';
exit();
}else{
$field1='heye';
exit();
}
echo 'echo';
die();
}
此过程成功,我得到 window.alert(data),但数据为空。你能告诉我为什么这不包括“echo ”吗? (这个脚本是我正在尝试的东西。)
最佳答案
你需要像这样在 php 函数上回显一些数据
if (isset($_POST["newFormRecherche"])) {
$field1='hey';
echo 'if';
exit();
}else{
$field1='heye';
echo 'else';
exit();
}
echo 'echo';
die();
关于javascript - 我无法使用 ajax 在 wordpress 中将 $_POST 从 js 获取到 php,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48473008/