JavaScript面向对象里面的类应该怎么写?哪位高手帮小弟我看上这段程序为什么跑不起来
JavaScript面向对象里面的类应该如何写?谁帮我看下这段程序为什么跑不起来
我想把AJAX封装到类里面去,可是又不知道该如何写程序,写了一段却跑不起来,谁来帮我看下这段都有什么错误
下面的类的函数class_ajax.js
------解决方案--------------------
问题太多了,形参不要加var,JS形参没有默认值的。
this.open = function(var url, var method = 0)
this.open = function(url, method)
var onreadystatechange = function(state, handle)
{
this.state = request.readyState;
this.status = request.status;
this.text = request.responseText;
我想把AJAX封装到类里面去,可是又不知道该如何写程序,写了一段却跑不起来,谁来帮我看下这段都有什么错误
<html>
<head>
<meta charset="utf-8" />
<title>AJAX Login Example</title>
<script src="http://192.168.1.63/common/class_ajax.js"></script>
<script>
// <![CDATA[
window.onload = function()
{
var ajax = new class_ajax();
}
function handle()
{
if (ajax.state == 4)
{
if (ajax.staus == 200)
{
document.write("This is function handle");
}
}
}
function sendmessage()
{
ajax.open("http://192.168.1.63/login/json.txt");
ajax.handle = handle;
ajax.send(NULL);
}
// ]]>
</script>
</head>
<body>
<form>
<input type="button" onsubmit="sendmessage(); return FALSE;" />
</form>
</body>
</html>
下面的类的函数class_ajax.js
function class_ajax()
{
var request;
var browser = navigator.appName;
this.state;
this.status;
this.handle;
this.text;
if(browser != "Microsoft Internet Explorer")
{
request = new XMLHttpRequest();
}else{
var arrVersions = ["MSXML2.XMLHttp.5.0", "MSXML2.XMLHttp.4.0", "MSXML2.XMLHttp.3.0", "MSXML2.XMLHttp", "Microsoft.XMLHttp"];
for (var i=0; i < arrVersions.length; i++)
{
try
{
request = new ActiveXObject(arrVersions[i]);
}
catch(exception)
{
}
}
}
this.open = function(var url, var method = 0)
{
if (method === 0)
{
return request.open("GET", url, true);
}
else
{
return request.open("POST", url, true);
}
}
this.send = function(var data)
{
return send(data);
}
this.change = function()
{
request.onreadystatechange = onreadystatechange;
}
var onreadystatechange(var state, var handle)
{
this.state = request.readyState;
this.status = request.status;
this.text = request.responseText;
this.handle();
}
}
javascript
ajax
xmlhttprequest
------解决方案--------------------
问题太多了,形参不要加var,JS形参没有默认值的。
this.open = function(var url, var method = 0)
this.open = function(url, method)
var onreadystatechange = function(state, handle)
{
this.state = request.readyState;
this.status = request.status;
this.text = request.responseText;