ajax onreadystatechange function
ajax onreadystatechange function
我有ajax oop脚本,它运行良好,但没有回调onreadystatechange函数。 这是代码=>
function AjaxConstruct(method,file,params){
this.method = method;
this.file = file;
this.params = params;
this.http = false;
}
AjaxConstruct.prototype.ajax = function(){
if (window.XMLHttpRequest){
this.http = new XMLHttpRequest();
} else {
this.http = new ActiveXObject("Microsoft.XMLHTTP");
}
if (this.http){
this.http.open(this.method,this.file,true);
if (this.method==="POST"){
this.http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
}
this.http.send(this.params);
this.http.onreadystatechange = function(){
if (this.http.readyState==4 && this.http.status==200){
alert("yeah");
}
};
}
};
它不回调 onreadystatechange 匿名函数,如何解决?谢谢:)
像这样调用方法 =>
var ajax = new AjaxConstruct("POST","filename","params");
ajax.ajax();
但是OnreadyStateChange并没有叫:(
我认为调用了回调,但访问this.http.readyState
会抛出错误,因为在回调中,this
不引用您的实例。
查看控制台中的错误。
只需使用 this.readyState
或将 XMLHTTPRequest
对象分配给局部变量并使用它而不是 this.http
即可。
了解有关this
的更多信息。
相关文章:
- 直接在函数声明上使用function.prototype.bind
- jQuery:.click(function(){(element),collapse('show',f
- 如果连接类型为none,则Javascript Function Only警报
- onLoad function phonegap android
- reducers在redux中得到Function not Object,what'it’他错了
- WIll window.addEventListener(“加载”,function(),false);等待浏览器自动填
- $(document).ready和jQuery(function($)不工作;jQuery已定义,但脚本尚未定义;t进
- Javascript onunload function
- 在init function()中调用getElementById(“..”),而不是想用它做点什么的函数
- spyOn:应为间谍,但得到了Function
- (typeof variable === “function”) 和 jQuery.isFunction() 有什么区别
- this内部的值返回this.each(function(){})
- 如何在JavaScript中创建类似于something.function()的函数
- 如何通过 Function.prototype.apply() 更改调用函数的参数
- 控制台中的“function floor(){[本机代码]}”是什么
- ASPX Jquery 1.11 $(Document).ready(function() {} was skipped
- Function.prototype.call和Function.protoype.all只应用一个参数
- 将angular javascript文件包装为“;(function(){..[js-code here]…})()&
- 从Function触发JQuery UI日期选择器,并将日期存储到变量中
- 创建一个类,该类使用es6类语法将Function对象创建为实例