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

时间:2014-09-01 11:46:34

标签: 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, textStatus, errorThrown) 
    {
      alert(errorThrown);
    }
});

这里我调用的是PHP函数my_action。 在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_function。 以下PHP代码也返回意外的输入错误结束:

function test_function()
{
    return "Test";
}

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

0 个答案:

没有答案