gpt4 book ai didi

php - WordPress中的ajax不调用php函数

转载 作者:行者123 更新时间:2023-12-01 06:36:25 27 4
gpt4 key购买 nike

想知道是否有人可以提供帮助;我正在尝试通过 jquery 在 wordpress 模板中的表单上实现一些 ajax。

jquery正在工作,我可以在success:部分记录一条控制台消息,但数据是0,当它应该调用php函数时(目前在同一页面上,我可以调用这个直接)

所以我猜jquery正在工作,admin-ajax正在被调用,只是php函数没有被调用。有什么想法我可能做错了什么吗?我不完全理解 Hook ,所以也许这是一个问题 - 我需要在某个地方 Hook 一些东西?

jquery(域名将替换注释)

<script type="text/javascript">
jQuery(function ($) {
$( "#movies" ).autocomplete({
minLength:2,
delay:500,
source: function( request, response ) {
$.ajax({
type: 'POST',
url: "http://<!--domain here -->/wp-admin/admin-ajax.php",
dataType: 'json',
data: {
action: 'getMoviesForCode',
searchString: $("#movies").val()
},
success: function( data ) {
response(data);
console.log('jjj'+data);
}
});
}
});
});
</script>

php 函数(在同一页面上)

<?php

function getMoviesForCode(){
echo "
<script type=\"text/javascript\">
alert(\"hh\");
</script>
";
$searchString = $_POST['searchString'];
$results = va_getMoviesForCode($searchString);
$results = json_encode($results);
die($results);
}
?>

谢谢

最佳答案

你做错了。您的 php 函数应该位于主题的 functions.php 文件中。

然后,您应该将该函数 Hook 到 wp_ajax_[your_action]wp_ajax_nopriv_[your_action]

functions.php 中应包含的内容示例:

function getMoviesForCode(){
echo "
<script type=\"text/javascript\">
alert(\"hh\");
</script>
";
$searchString = $_POST['searchString'];
$results = va_getMoviesForCode($searchString);
$results = json_encode($results);
die($results);
}
add_action('wp_ajax_getMoviesForCode', 'getMoviesForCode');
add_action('wp_ajax_nopriv_getMoviesForCode', 'getMoviesForCode');

关于php - WordPress中的ajax不调用php函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14600989/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com