我有以下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();
}