导航:首页 > 编程语言 > 纯jsajax

纯jsajax

发布时间:2023-03-01 02:56:24

js如何实现Ajax的请求函数

<scripttype="text/javascript">
//请求函数
functionf1(){
console.log('start');
//1.创建AJAX对象
varajax=newXMLHttpRequest();

//4.给AJAX设置事件(这里最多感知4[1-4]个状态)
ajax.onreadystatechange=function(){
//5.获取响应
//responseText以字符串的形式接收服务器返回的信息
//console.log(ajax.readyState);
if(ajax.readyState==4&&ajax.status==200){
varmsg=ajax.responseText;
console.log(msg);
//alert(msg);
vardivtag=document.getElementById('result');
divtag.innerHTML=msg;
}
}

//2.创建http请求,并设置请求地址
varusername=document.getElementsByTagName('input')[0].value;
varemail=document.getElementsByTagName('input')[1].value;
username=encodeURIComponent(username);//对输入的特殊符号(&,=等)进行编码
email=encodeURIComponent(email);
ajax.open('get','response.php?username='+username+'&email='+email);

//3.发送请求(get--nullpost--数据)
ajax.send(null);
}

</script>

⑵ ajax与普通js有什么区别,javascript和AJAX的区别

javascript是一种在客抄户端执行的脚本语言。ajax是基于javascript的一种技术,它主要用途是提供异步刷新(只刷新页面的一部分,而不是整个页面都刷新)。一个是语言,一个是技术,两者有本质区别.

⑶ js如何通过Ajax的方式提交表单(注意不是以jquery而是以js原生代码的方式提交)

ajax({
url:"",//请求地址
type:"POST",//请求方式
data:{name:"super",age:20},//请求参数
dataType:"json",
success:function(response,xml){
//此处放成功后执行的代码
},
fail:function(status){
//此处放失败后执行的代码
}
});
functionajax(options){
options=options||{};
options.type=(options.type||"GET").toUpperCase();
options.dataType=options.dataType||"json";
varparams=formatParams(options.data);
if(window.XMLHttpRequest){
varxhr=newXMLHttpRequest();
}else{
varxhr=newActiveXObject('Microsoft.XMLHTTP');
}
xhr.onreadystatechange=function(){
if(xhr.readyState==4){
varstatus=xhr.status;
if(status>=200&&status<300){
options.success&&options.success(xhr.responseText,xhr.responseXML);
}else{
options.fail&&options.fail(status);
}
}
}
if(options.type=="GET"){
xhr.open("GET",options.url+"?"+params,true);
xhr.send(null);
}elseif(options.type=="POST"){
xhr.open("POST",options.url,true);
xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
xhr.send(params);
}
}
functionformatParams(data){
vararr=[];
for(varnameindata){
arr.push(encodeURIComponent(name)+"="+encodeURIComponent(data[name]));
}
arr.push(("v="+Math.random()).replace("."));
returnarr.join("&");
}

⑷ 原生js实现ajax封装好怎么使用

可以这样

1varAjax={
//ajax模块
init:function(obj){
//初始化数据
varobjAdapter={
url:'',
method:'get',
data:{},
success:function(){},
complete:function(){},
error:function(s){
alert('status:'+s+'error!');
},
async:true
}
//通过使用随机字符串解决IE浏览器第二次默认获取缓存的问题
objAdapter.url=obj.url+'?rand='+Math.random();
objAdapter.method=obj.method||objAdapter.method;
objAdapter.data=Ajax.params(obj.data)||Ajax.params(objAdapter.data);
objAdapter.async=obj.async||objAdapter.async;
objAdapter.complete=obj.complete||objAdapter.complete;
objAdapter.success=obj.success||objAdapter.success;
objAdapter.error=obj.error||objAdapter.error;
returnobjAdapter;
},
//创建XMLHttpRequest对象
createXHR:function(){
if(window.XMLHttpRequest){//IE7+、Firefox、Opera、Chrome和Safari
returnnewXMLHttpRequest();
}elseif(window.ActiveXObject){//IE6及以下
varversions=['MSXML2.XMLHttp','Microsoft.XMLHTTP'];
for(vari=0,len=versions.length;i<len;i++){
try{
returnnewActiveXObject(version[i]);
break;
}catch(e){
//跳过
}
}
}else{
thrownewError('浏览器不支持XHR对象!');
}
},
params:function(data){
vararr=[];
for(variindata){
//特殊字符传参产生的问题可以使用encodeURIComponent()进行编码处理
arr.push(encodeURIComponent(i)+'='+encodeURIComponent(data[i]));
}
returnarr.join('&');
},
callback:function(obj,xhr){
if(xhr.status==200){//判断http的交互是否成功,200表示成功
obj.success(xhr.responseText);//回调传递参数
}else{
alert('获取数据错误!错误代号:'+xhr.status+',错误信息:'+xhr.statusText);
}
},
ajax:function(obj){
if(obj.method==='post'){
Ajax.post(obj);
}else{
Ajax.get(obj);
}
},
//post方法
post:function(obj){
varxhr=Ajax.createXHR();//创建XHR对象
varopt=Ajax.init(obj);
opt.method='post';
if(opt.async===true){//true表示异步,false表示同步
//使用异步调用的时候,需要触发readystatechange事件
xhr.onreadystatechange=function(){
if(xhr.readyState==4){//判断对象的状态是否交互完成
Ajax.callback(opt,xhr);//回调
}
};
}
//在使用XHR对象时,必须先调用open()方法,
//它接受三个参数:请求类型(get、post)、请求的URL和表示是否异步。
xhr.open(opt.method,opt.url,opt.async);
//post方式需要自己设置http的请求头,来模仿表单提交。
//放在open方法之后,send方法之前。
xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
xhr.send(opt.data);//post方式将数据放在send()方法里
if(opt.async===false){//同步
Ajax.callback(obj,xhr);//回调
}
},
//get方法
get:function(obj){
varxhr=Ajax.createXHR();//创建XHR对象
varopt=Ajax.init(obj);
if(opt.async===true){//true表示异步,false表示同步
//使用异步调用的时候,需要触发readystatechange事件
xhr.onreadystatechange=function(){
if(xhr.readyState==4){//判断对象的状态是否交互完成
Ajax.callback(obj,xhr);//回调
}
};
}
//若是GET请求,则将数据加到url后面
opt.url+=opt.url.indexOf('?')==-1?'?'+opt.data:'&'+opt.data;
//在使用XHR对象时,必须先调用open()方法,
//它接受三个参数:请求类型(get、post)、请求的URL和表示是否异步。
xhr.open(opt.method,opt.url,opt.async);
xhr.send(null);//get方式则填null
if(opt.async===false){//同步
Ajax.callback(obj,xhr);//回调
}
}
};

⑸ 解释js ajax和cgi各是什么工具在b/s中起什么作用

名词解释:


在b/s架构中的所扮演的角色


综述:

js是浏览器端实现动态性交互的基础,没有js的网页只能是静态网页,所有的交互必须通过http请求重新刷新网页。

ajax是实现网页类富客户端应用的前提条件。有了它网页可以在不刷新网页的基础上跟后端服务器进行数据交互。

cgi是处理客户端或浏览器端请求的服务器进程。我们用它来产生动态网页内容。

⑹ js文件的ajax的url该怎么写

建议用jquery写ajax,用原生js写ajax难度有点大。

jQuery-AJAXget()和post()方法。没使用缓存技术的话可以直接用post代替get。

Query$.post()方法

$.post()方法通过HTTPPOST请求从服务器上请求数据。与$.get()方法的区别是$.post()可以发送参数到服务器,服务器进行处理后再放回数据

语法:$.post(URL,data,callback);

必需的URL参数规定您希望请求的URL。

可选的data参数规定连同请求发送的数据。

可选的callback参数是请求成功后所执行的函数名。

注意:

实例:

$("button").click(function(){

$.post("demo_test_post.asp",

{

name:"DonaldDuck",

city:"Duckburg"

},

function(data,status){

alert("Data:"+data+" Status:"+status);

});

});


阅读全文

与纯jsajax相关的资料

热点内容
iphone6信任限制在哪里 浏览:734
编程div如何居中 浏览:538
怎样用记事本编写路径拷贝文件 浏览:849
那个手机app怎么连接 浏览:748
手机软排数据线四根线怎么接 浏览:919
看新闻在哪个app看 浏览:138
存储的业务数据是什么 浏览:260
日本ip密码错误 浏览:63
tf卡能自己写程序吗 浏览:775
qq45454 浏览:324
2个独立excel文件并排查看 浏览:138
excel文件转换提示异常 浏览:461
眼睛电脑数据单怎么看 浏览:584
柱状图如何添加数据单位 浏览:173
电脑红警怎么设置网络 浏览:289
什么牌子苹果数据线最快 浏览:438
java如何访问mysql数据库 浏览:140
win7把桌面文件移动 浏览:897
恋爱app在哪里退订 浏览:206
小米手机的录音文件在哪个文件夹 浏览:714

友情链接