我在 catch (当 Web 服务调用失败时)语句中获取了一个变量,并尝试对其使用 json_encode:
try {
WebServices::create($this->nameWS);
}
catch (Exception $e) {
$tr = $e->getTrace();
$x = $tr[3];
json_encode($x);
}
$x
包含一个字符串。
此 catch 语句将我发送到 $.ajax 的 error 部分:
$.ajax({
type: 'POST',
url: 'index.php',
data: 'module=random&action=' + action + params,
dataType: 'json',
success: function(dataJson){
callbackServer(action, otherVars, dataJson);
callServer.isRun = false;
},
error : function(dataError) {
console.log("I want to get the $x variable here");
}
});
console.logging dataError
参数返回一大堆垃圾信息,其中没有一个与该变量相关。
我已经看到可以将 json_encoded 变量发送到 JS,但永远不会在 ajax 返回的错误 block 内 - 有没有一种简单的方法可以在这里获取此变量?谢谢大家。
最佳答案
您需要echo json_encode($x)
并发送正确的响应 header 。
关于php - 在 Ajax 返回中获取 PHP 变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16919012/