我目前有多個參數發送到與AJAX相關的回調成功函數的問題。發送多個參數到AJAX成功函數
所有我非常希望做的是保留該進來作爲參數傳遞給函數的AJAX調用被封裝在一個變量的值。
我可以儘量得到的值存在在本地成功函數中,但是一旦我嘗試傳遞它並在回調方法中檢索它,突然變量就不確定了。我很困惑,爲什麼會發生這種情況,並認爲價值會在沒有問題的情況下發送給功能。
如果有人可以對此有所瞭解,我將不勝感激。我的想法說這可能與範圍有關,$ this,以及我如何傳遞變量,但是我還沒有把它放在一起。以下是我的代碼:
function getNum(numb, parentWindow)
{
alert(parentWindow);
alert("before ajax");
$.support.cors = true;
$.ajax
({
type: "POST",
crossDomain: true,
beforeSend: function(request)
{
request.setRequestHeader("Authorization", "Basic");
return true;
},
data: {
'parentWindow' :parentWindow
},
url: webServiceURL,
dataType: "xml",
context: parentWindow,
async: false,
data: soapMessage,
contentType: "text/xml; charset=\"utf-8\"",
success: function(data)
{
alert(this);
alert(parentWindow);
OnSuccess(data, parentWindow);
},
error: OnError
});
}
上面的parentWindow警報,確實回來作爲一個對象。第二部分是關於正在調用的OnSuccess函數。
function OnSuccess(data, status, parentWindow)
{
alert("my window " + data.parentWindow);
alert("my window " + this.parentWindow);
var documentValArr = parseXMLRrec(data);
if(documentValArr)
{
insertDataIntoTable(documentValArr);
}
}
中的onSuccess功能警報都返回parentWindow參數爲未定義,我只是有一個混亂的時間,試圖弄清楚這是爲什麼。如果有人能給我一兩個指針,我會非常感謝!
你來的onSuccess電話得到兩個參數,但你的函數需要三個參數,所以第三個參數是未定義的。 「地位」並不是無處不在。 ;-) 聖誕快樂! – flaschenpost