用JS写函数:createRequest(),其功能是用于新建一个和服务器对话的标准XmlHttpRequest对象.
你只要复制下面函数到JS中就好,绝对保证兼容个浏览器。
调用的时候执行get()
自己根据自己的要求完善一下参数。
function get(){
var xmlHttp
function GetXmlHttp(){
try{xmlHttp=new XMLHttpRequest()}
catch(e){
try{xmlHttp=new ActiveXObject("Msxml2XMLHTTP")}
catch(e){xmlHttp=new ActiveXObject("MicrosoftXMLHTTP")}
}
}
function Response(){
if(xmlHttpreadyState==4 || xmlHttpreadyState=="complete"){
alert(xmlHttpresponseText);//这是服务器返回的文本
}
}
function query(){
GetXmlHttp()
xmlHttponreadystatechange=Response;//设置回调函数
xmlHttpopen("get","要被请求的页面"+url,true)//参数 请求方式,发送数据到哪个页面
xmlHttpsend(null)
}
query()
}
语言只是一种工具,javascript主要是当作解释型脚本语言使用,在网页中可以控制页面元素的属性,和用户互动如果用于Windows Script Host,可以通过Windows提供的一些对象实现一些类似应用程序的功能如果用于Nodejs,你还可以用它来写服务器。
如果在某个程序中实现了javascript的解释器,理论上讲是可以用来写软件的。
js可以做的事情有很多,比如以下几点:
用JavaScript可以做很多事情,使网页更具交互性,给站点的用户提供更好,更令人兴奋的体验。
JavaScript使你可以创建活跃的用户界面,当用户在页面间导航时向他们反馈。
使用JavaScript来确保用户以表单形式输入有效的信息,这可以节省你的业务时间和开支。
使用JavaScript,根据用户的操作可以创建定制的HTML页面。
JavaScript还可以处理表单,设置cookie,即时构建HTML页面以及创建基于Web的应用程序。
实际上,JavaScript是一种客户端语言。(实际上,也存有服务器端实现的JavaScript版本)。也就是说,设计它的目的是在用户的机器上执行任务,而不是在服务器上。因此,JavaScript有一些固有的限制,这些限制主要出于如下安全原因:
JavaScript不允许读写客户机器上的文件。这是有好处的,因为你肯定不希望网页能够读取自己硬盘上的文件,或者能够将病毒写入硬盘,或者能够操作你的计算机上的文件。唯一例外是,JavaScript可以写到浏览器的cookie文件,但是也有一些限制。
JavaScript不允许写服务器机器上的文件。尽管写服务器上的文件在许多方面是很方便的(比如存储页面点击数或用户填写表单的数据),但是JavaScript不允许这么做。相反,需要用服务器上的一个程序处理和存储这些数据。这个程序可以是Perl或者PHP等语言编写的CGI运行在服务器上的程序或者Java程序
JavaScript不能关闭不是它自己打开的窗口。这是为了避免一个站点关闭其他任何站点的窗口,从而独占浏览器。
JavaScript不能从来自另一个服务器的已经打开的网页中读取信息。换句话说,网页不能读取已经打开的其它窗口中的信息,因此无法探查访问这个站点冲浪者还在访问其它哪些站点。
方法和详细的操作步骤如下:
1、第一步,打开HBuilder工具,并在Web项目的js文件夹中创建一个新的JavaScript文件ConnDBjs,使用require()引入mysql模块,然后将该值分配给变量mysq,见下图,转到下面的步骤。
2、第二步,完成上述步骤后,调用createConnection()方法设置主机,用户名,密码,端口并返回数据,见下图,转到下面的步骤。
3、第三步,完成上述步骤后,调用mysql模块中的connect()方法以连接到mysql数据,见下图,转到下面的步骤。
4、第四步,完成上述步骤后,编写查询语句SQL并将其作为字符串分配给变量sq,见下图,转到下面的步骤。
5、第五步,完成上述步骤后,调用query(),根据返回值判断结果,然后打印返回,见下图。这样,就解决了这个问题了。
var http = require('http');
var mysql = require('mysql');
var connection = mysqlcreateConnection({
host : 'localhost',
user : 'me',
password : 'secret',
});
//开始你的mysql连接
connectionconnect();
var server = httpcreateServer(function (req, res) {
//如果你发一个GET到http://127001:1337/testa=1&b=2的话
var url_info = require('url')parse(requrl, true);
//检查是不是给/test的request
if(url_infopathname === '/test'){
//把query用url encode,这样可以用post发送
var post_data = require('querystring')stringify(url_infoquery);
//post的option
var post_options = {
host: 'localhost',
port: 1337,
path: '/response_logic',
method: 'POST',
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
'Content-Length': post_datalength
}
};
//发出post
var request_made = httprequest(post_options, function(response_received){
var buf_list = new Array();
response_receivedon('data',function(data){
buf_listpush(data);
});
response_receivedon('end',function(){
var response_body = Bufferconcat(buf_list);
resend(response_body);
connectionquery('insert into ',function(err,rows,fields){
//处理你的结果
});
});
});
//发出post的data
request_madeend(post_data);
}
//这个是用来回复上面那个post的,显示post的数据以表示成功了。你要是有别的目标,自然不需要这一段。
else{
reqpipe(res);
}
});
serverlisten(1337, '127001');
//在server关闭的时候也关闭mysql连接
serveron('close',function(){
connectionend();
});
consolelog('listening on port 1337');
网站模板库 » 用JS写函数:createRequest(),其功能是用于新建一个和服务器对话的标准XmlHttpRequest对象.
0条评论