道場獲取變量從服務器和存儲數據,我有以下功能:使用xhrGet
loadMsgBody: function (id) {
return dojo.xhrGet({
url: "myurl",
handleAs: "text",
content: {
id: id
},
load: function (response) {
return response;
},
error: function (response) {
alert(response);
}
});
}
,把它:
var text = "";
this.loadMsgBody(this.msgId).then(function (response) {
text = response;
});
現在我希望得到函數的返回值但相反,我獲得了一個空的文本值。但是,在Firebug中,我確實看到服務器的響應值正確。我已經搜索並找到這些鏈接:DOJO xhrGet how to use returned json object? 和: Using hitch/deferred with an xhrGet request 但我仍然無法使用上面的代碼獲取和存儲數據。我不想在xhrGet調用中進行操作,我想檢索數據並使用,因爲它將被多次使用。
有什麼我失蹤?
你在Firebug得到什麼,當你調用'VAR MYDATA的= this.loadMsgBody(this.msgId);'?你可以在你的函數回調中爲'then'設置一個斷點,並注意分配了什麼'text'。 – Bucket
我得到'[object Object]'。但在螢火蟲中,我看到服務器預期數據的響應。 – zulq
'load'回調中'response'的值是多少?它看起來像一些對象正在轉換成一個字符串,可能這不是你想要的。 –