Ajax 将lang.hitch用于xmlhttprequest
我没有掌握在XMLHttpRequest中使用lang.hitch的方法。有什么办法吗Ajax 将lang.hitch用于xmlhttprequest,ajax,dojo,xmlhttprequest,Ajax,Dojo,Xmlhttprequest,我没有掌握在XMLHttpRequest中使用lang.hitch的方法。有什么办法吗 var xml=new-XMLHttpRequest(); onreadystatechange(lang.hitch(this,function()) { if(xml.readyState==4&&xml.status==200) { var t=xml.response; 这个方法(); } } )); open('GET',someURL,false); xml.send()在dojo中有类概念
var xml=new-XMLHttpRequest();
onreadystatechange(lang.hitch(this,function())
{
if(xml.readyState==4&&xml.status==200)
{
var t=xml.response;
这个方法();
}
}
));
open('GET',someURL,false);
xml.send()代码>在dojo中有类概念。我们可以在类中定义方法。然后,代码架构将变得清晰。对于事件响应部分,操作范围将限制在响应函数中,并丢失类场景
这些天我发现了一个不依赖dojo lang.hitch的解决方案,方法是:
在主场景中,通过以下方式将其设置为变量:
var实例=这个;
在异步方法(响应)中,如果通过以下方式调用主场景中的方法:
SomeMethod()
这里怎么了?你能把你的问题贴出来吗!这个代码应该可以工作。把错误或你真正的问题贴出来。
sendXMLRequest: function () {
var xml = new XMLHttpRequest();
xml.responseType = "json";
xml.open('GET', url, true);
var instance = this;
xml.onload = function (e) {
if (this.status == 200 || this.status == 304) {
instance.SomeMethod();
}
}
xml.send();
},
SomeMethod:function(){
//do something.
}