我得到我抓內部變量(當Web服務調用失敗)語句,並試圖使用就可以了json_encode:在Ajax返回中獲取PHP變量?
try {
WebServices::create($this->nameWS);
}
catch (Exception $e) {
$tr = $e->getTrace();
$x = $tr[3];
json_encode($x);
}
$x
包含字符串。
這catch語句把我送到我的$阿賈克斯的錯誤部分:
$.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返回的錯誤塊內 - 是否有一種簡單的方法來獲取這個變量?多謝你們。
只需要注意 - 您鏈接到的問題與此情況無關,因爲您使用AJAX請求PHP腳本的結果,所以肯定可以從該腳本返回json_encoded變量的表示形式PHP返回到JavaScript。 – Pudge601
@ Pudge601好的,將刪除鏈接。所以你說可以做我想做的事情? – user2381114
是的,如果您在web服務中發現異常,您可以返回一個包含描述錯誤的json編碼變量的響應,其方式與通常發送響應的方式完全相同。請記住,您需要讓jquery ajax處理腳本通過設置響應狀態代碼來知道發生了錯誤,或者如果您使用的是基於json的RPC,則可以在json對象中包含「status:false」 – Pudge601