如何在没有jQuery的情况下测试XMLHttpRequest或纯Javascript AJAX上的onreadystatechange?我这样做是因为我正在开发Firefox扩展。我猜我必须使用spy,但无法弄清楚原因是我的ajax不会返回任何东西。
提交 : function() {
var url = window.arguments[0];
var request = new XMLHttpRequest();
request.open("POST", 'http://'+this.host+'/doSomething', true);
request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
request.send("param="+param+"&emotions="+this.getParams());
request.onreadystatechange = function() {
if(this.readyState == 4) {
// alert(this.responseText);
}
};
}
该函数的功能是发送POST请求到指定url并将参数传递给服务器。 使用XMLHttpRequest对象,通过设置请求头和请求体来配置请求。 将参数编码为x-www-form-urlencoded格式,然后使用send()方法将其发送到服务器。 函数还设置了一个回调函数以在完成请求后执行特定操作。