Javascript WP从AJAX中的另一个函数返回值
我有以下JS脚本: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,
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来访问真正的调试器。