You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WordPress中AJAX向PHP传递数据为空的问题求助

问题解决:AJAX传递的searchstring无法被PHP接收

核心原因

你的JavaScript代码里,AJAX请求的data对象中,把搜索字符串存在了data这个键名下,但PHP代码里却尝试获取$_POST['searchstring'],两者键名不匹配,导致PHP取不到值。

修改步骤

  1. 修正JavaScript的参数键名
    把AJAX的data对象里的data: searchstring改成searchstring: searchstring,让键名和PHP里要获取的一致:
<script type='text/javascript'>
    jQuery(document).ready(function() {
        jQuery("#fetch_data_button").click(function() {
            const searchstring = "My search text";
                                    
            jQuery.ajax({
                type: "POST",
                url: "admin-ajax.php",
                data: {         
                    action: 'fetch_data', 
                    _ajax_nonce: '<?php echo $nonce; ?>',
                    searchstring: searchstring // 修改此处键名
                },
                // 可选:添加回调查看返回结果
                success: function(response) {
                    console.log("返回数据:", response);
                }
            });
            return false;                   
        });                                         
    });
</script>
  1. 修正PHP的取值逻辑(并添加安全处理)
    现在可以正确获取$_POST['searchstring'],同时建议添加nonce验证和数据清洗,避免安全问题:
add_action( 'wp_ajax_fetch_data', 'fetch_data_fn' );
// 若允许未登录用户调用,需添加此钩子
add_action( 'wp_ajax_nopriv_fetch_data', 'fetch_data_fn' );

function fetch_data_fn() {
    // 验证nonce有效性
    if ( !isset($_POST['_ajax_nonce']) || !wp_verify_nonce($_POST['_ajax_nonce'], '你的nonce标识名') ) {
        wp_send_json_error('请求验证失败');
    }

    // 安全获取并处理参数
    $searchstring = isset($_POST['searchstring']) ? sanitize_text_field($_POST['searchstring']) : '';
    
    // 测试输出确认结果
    if (empty($searchstring)) {
        wp_send_json_error('未接收到搜索字符串');
    } else {
        wp_send_json_success('收到的搜索内容:' . $searchstring);
    }

    die(); 
}

额外提示

  • 确保生成$nonce时使用的wp_create_nonce('你的nonce标识名'),和PHP验证时的标识名完全一致;
  • 使用wp_send_json_success/wp_send_json_error可以更规范地返回JSON格式的响应,方便前端处理。

内容的提问来源于stack exchange,提问作者o.heinrich

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 05:45:56