gpt4 book ai didi

调用定义的方法时 JavaScript "is not a function"错误

转载 作者:行者123 更新时间:2023-12-03 08:01:04 24 4
gpt4 key购买 nike

这是我的代码:

request_xml: function()
{
http_request = false;
http_request = new XMLHttpRequest();
if (http_request.overrideMimeType)
{
http_request.overrideMimeType('text/xml');
}
if (!http_request)
{
return false;
}
http_request.onreadystatechange = this.response_xml;
http_request.open('GET', realXmlUrl, true);
http_request.send(null);
xmlDoc = http_request.responseXML;

},



response_xml:function ()
{
if (http_request.readyState == 4)
{
if(http_request.status == 404 && countXmlUrl<=3)
{
countXmlUrl++;

realXmlUrl = xmlUrl[countXmlUrl];
this.request_xml();
}
if (http_request.status == 200)
{
xmlDoc = http_request.responseXML;
alert("need to update3");
this.peter_save_data();
}

}
},

peter_save_data:function()
{
// removed function code
},

奇怪的是,警报触发没有问题,但下面的函数调用给了我这个错误:
Error: this.peter_save_data is not a function

从其他地方的另一个函数调用同一个该死的函数可以正常工作。

最佳答案

您可以在调用 XML 生成之前执行此操作。

var that = this;

然后...
that.peter_save_data();

因为 this使用新函数更改范围时经常更改,您无法使用它访问原始值。将其别名为 that 允许您仍然访问 this 的原始值。

关于调用定义的方法时 JavaScript "is not a function"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6317845/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com