Php 如何在wordpress中发送ajax请求而不显示零
我正在尝试向wordpress中的另一个php页面发送ajax请求。但是每次它返回零和其他结果。我需要删除零。我试着去死;删除零。但调用此命令后,整个屏幕变为空白。我的代码在下面 JqueryPhp 如何在wordpress中发送ajax请求而不显示零,php,jquery,ajax,wordpress,Php,Jquery,Ajax,Wordpress,我正在尝试向wordpress中的另一个php页面发送ajax请求。但是每次它返回零和其他结果。我需要删除零。我试着去死;删除零。但调用此命令后,整个屏幕变为空白。我的代码在下面 Jquery <script type="text/javascript"> function key_press(){ jQuery.ajax({ url : '<?php echo get_admin_url()?>admin-ajax.php', type : 'POST', d
<script type="text/javascript">
function key_press(){
jQuery.ajax({
url : '<?php echo get_admin_url()?>admin-ajax.php',
type : 'POST',
data : jQuery('[name="ans_name"]').serialize()
}).done(function(result) {
// ta da
//alert("success");
jQuery("#widget_poll_id").html(result);
});
}
</script>
我怎样才能摆脱这种情况呢?这是因为你的行为没有被调用 您需要如下声明属性
action
,以便WP知道调用哪个操作
在您的特定情况下,您还必须声明ans\u name
(与data
相反),以便$\u POST['ans\u name']
存在。我猜您希望在很多情况下调用此AJAX请求,因为您在钩子名称中使用了$\u POST['ansu name']
。如果不是这样,我建议您使用一些静态的东西,因为当您不需要钩子时,可以在其他请求期间调用钩子
最后,我用WP-AJAX处理程序改进了您的代码,这将确保包含在AJAX请求期间可能需要的所有WP功能
<script type="text/javascript">
function key_press(){
var data = {
url: '<?php echo get_admin_url()?>admin-ajax.php',
type: 'POST',
action: jQuery('[name="ans_name"]').serialize(),
ans_name: jQuery('[name="ans_name"]').serialize()
};
var myRequest = jQuery.post(ajax_object.ajaxurl, data, function(response){
alert('Got this from the server: ' + response);
});
myRequest.done(function(){
alert("success");
});
}
</script>
add_action( 'wp_ajax_nopriv_'.$_POST['ans_name'], 'my_ajax' );
add_action( 'wp_ajax_'.$_POST['ans_name'], 'my_ajax' );
function my_ajax(){
echo $_POST['ans_name'];
die(); // Required for a proper Wordpress AJAX result
}
这是因为你的行为没有被调用 您需要如下声明属性
action
,以便WP知道调用哪个操作
在您的特定情况下,您还必须声明ans\u name
(与data
相反),以便$\u POST['ans\u name']
存在。我猜您希望在很多情况下调用此AJAX请求,因为您在钩子名称中使用了$\u POST['ansu name']
。如果不是这样,我建议您使用一些静态的东西,因为当您不需要钩子时,可以在其他请求期间调用钩子
最后,我用WP-AJAX处理程序改进了您的代码,这将确保包含在AJAX请求期间可能需要的所有WP功能
<script type="text/javascript">
function key_press(){
var data = {
url: '<?php echo get_admin_url()?>admin-ajax.php',
type: 'POST',
action: jQuery('[name="ans_name"]').serialize(),
ans_name: jQuery('[name="ans_name"]').serialize()
};
var myRequest = jQuery.post(ajax_object.ajaxurl, data, function(response){
alert('Got this from the server: ' + response);
});
myRequest.done(function(){
alert("success");
});
}
</script>
add_action( 'wp_ajax_nopriv_'.$_POST['ans_name'], 'my_ajax' );
add_action( 'wp_ajax_'.$_POST['ans_name'], 'my_ajax' );
function my_ajax(){
echo $_POST['ans_name'];
die(); // Required for a proper Wordpress AJAX result
}
这是因为你的行为没有被调用 您需要如下声明属性
action
,以便WP知道调用哪个操作
在您的特定情况下,您还必须声明ans\u name
(与data
相反),以便$\u POST['ans\u name']
存在。我猜您希望在很多情况下调用此AJAX请求,因为您在钩子名称中使用了$\u POST['ansu name']
。如果不是这样,我建议您使用一些静态的东西,因为当您不需要钩子时,可以在其他请求期间调用钩子
最后,我用WP-AJAX处理程序改进了您的代码,这将确保包含在AJAX请求期间可能需要的所有WP功能
<script type="text/javascript">
function key_press(){
var data = {
url: '<?php echo get_admin_url()?>admin-ajax.php',
type: 'POST',
action: jQuery('[name="ans_name"]').serialize(),
ans_name: jQuery('[name="ans_name"]').serialize()
};
var myRequest = jQuery.post(ajax_object.ajaxurl, data, function(response){
alert('Got this from the server: ' + response);
});
myRequest.done(function(){
alert("success");
});
}
</script>
add_action( 'wp_ajax_nopriv_'.$_POST['ans_name'], 'my_ajax' );
add_action( 'wp_ajax_'.$_POST['ans_name'], 'my_ajax' );
function my_ajax(){
echo $_POST['ans_name'];
die(); // Required for a proper Wordpress AJAX result
}
这是因为你的行为没有被调用 您需要如下声明属性
action
,以便WP知道调用哪个操作
在您的特定情况下,您还必须声明ans\u name
(与data
相反),以便$\u POST['ans\u name']
存在。我猜您希望在很多情况下调用此AJAX请求,因为您在钩子名称中使用了$\u POST['ansu name']
。如果不是这样,我建议您使用一些静态的东西,因为当您不需要钩子时,可以在其他请求期间调用钩子
最后,我用WP-AJAX处理程序改进了您的代码,这将确保包含在AJAX请求期间可能需要的所有WP功能
<script type="text/javascript">
function key_press(){
var data = {
url: '<?php echo get_admin_url()?>admin-ajax.php',
type: 'POST',
action: jQuery('[name="ans_name"]').serialize(),
ans_name: jQuery('[name="ans_name"]').serialize()
};
var myRequest = jQuery.post(ajax_object.ajaxurl, data, function(response){
alert('Got this from the server: ' + response);
});
myRequest.done(function(){
alert("success");
});
}
</script>
add_action( 'wp_ajax_nopriv_'.$_POST['ans_name'], 'my_ajax' );
add_action( 'wp_ajax_'.$_POST['ans_name'], 'my_ajax' );
function my_ajax(){
echo $_POST['ans_name'];
die(); // Required for a proper Wordpress AJAX result
}
是否尝试删除回音,并将其替换为return?delete die()是否尝试删除回音,并将其替换为return?delete die()是否尝试删除回音,并将其替换为return?delete die()是否尝试删除回音,并将其替换为return?删除骰子()谢谢它的工作。但我不需要什么帮助。当我点击提交按钮时,它返回“ANSU name=31”。但我不需要“名字”,我只需要“31”。我知道这并不难。但是我没有发现。这可能是因为在发出AJAX请求之前,您是如何获取
ans_name
(以及通过代理action
)的值的。我假设ans\u name
是什么类型的字段,但是尝试将jQuery('[name=“ans\u name”]').serialize()
替换为jQuery('[name=“ans\u name”]').val()
。谢谢,它能工作。但我不需要什么帮助。当我点击提交按钮时,它返回“ANSU name=31”。但我不需要“名字”,我只需要“31”。我知道这并不难。但是我没有发现。这可能是因为在发出AJAX请求之前,您是如何获取ans_name
(以及通过代理action
)的值的。我假设ans\u name
是什么类型的字段,但是尝试将jQuery('[name=“ans\u name”]').serialize()
替换为jQuery('[name=“ans\u name”]').val()
。谢谢,它能工作。但我不需要什么帮助。当我点击提交按钮时,它返回“ANSU name=31”。但我不需要“名字”,我只需要“31”。我知道这并不难。但是我没有发现。这可能是因为在发出AJAX请求之前,您是如何获取ans_name
(以及通过代理action
)的值的。我假设ans\u name
是什么类型的字段,但是尝试将jQuery('[name=“ans\u name”]').serialize()
替换为jQuery('[name=“ans\u name”]').val()
。谢谢,它能工作。但我不需要什么帮助。当我点击提交按钮时,它返回“ANSU name=31”。但我不需要“名字”,我只需要“31”。我知道这并不难。但是我没有发现。这可能是因为在发出AJAX请求之前,您是如何获取ans_name
(以及通过代理action
)的值的。我假设ans\u name
的字段类型,但尝试替换jQuery('[name=“ans\u name”]')的两个实例。serialize()