我目前有多个参数发送到与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