Javascript WP从AJAX中的另一个函数返回值

Javascript WP从AJAX中的另一个函数返回值,javascript,php,jquery,ajax,wordpress,Javascript,Php,Jquery,Ajax,Wordpress,我有以下JS脚本: var data = { action: 'my_action', sku: SKU }; $.ajax({ type:"POST", url:myObject.url, data: data, dataType: 'json', success: function (response) { console.log(response); }, error: function(jqXHR,

我有以下JS脚本:

var data = {
    action: 'my_action',
    sku: SKU
};
$.ajax({
    type:"POST",
    url:myObject.url,
    data: data,
    dataType: 'json',
    success: function (response) {
        console.log(response);
    },
    error: function(jqXHR, textStatus, errorThrown) 
    {
      alert(errorThrown);
    }
});
在这里,我将一个PHP函数调用为我的_操作。 在PHP中,我正确构造函数和回调函数,并具有以下两个函数:

function test_function()
{
    return "Test";
}

function my_action_callback() {
    $response = test_function();
    echo json_encode($response);
    die();
}
这会在警报中导致错误:输入意外结束

但是,回调应该如下所示:

function my_action_callback() {
    $response = "Test";
    echo json_encode($response);
    die();
}
我得到了JS中返回的测试

为什么第一个片段不起作用

编辑

事实上,这个错误似乎源于我在PHP中调用my_test_函数。 以下PHP代码还返回意外的输入结束错误:

function test_function()
{
    return "Test";
}

function my_action_callback() {
    $response = test_function();
    $response = "Test";
    echo json_encode($response);
    die();
}

确保你没有丢失任何括号。谢谢你!我检查过了,没有丢失任何括号。事实上,当我不尝试从test_函数获取响应时,AJAX调用可以工作,所以这似乎是问题所在……您是否尝试过调试响应?您可以尝试使用console.log而不是警报,只是为了调试,或者更好的是,使用firebug或chrome的inspector来访问真正的调试器。