原生AJAX发送get、post请求
说明
方法(图一)属性(图二)第一步:创建 XMLHttpRequest对象,下面都简写为 xhr对象
var xhr = null if (window.XMLHttpRequest){//如果浏览器存在这个对象 则以这种方式创建 xhr = new XMLHttpRequest() } else{//否则 以下面这种方式 xhr = new ActiveXObject('Microsoft.XMLHTTP') } //或者使用 try catch 这里与上面的 if 语句 效果等同 try{ xhr = new XMLHttpRequest() }catch(e){ xhr = new ActiveXObject('Microsoft.XMLHTTP') } 第二步:准备发送,调用open方法xhr.open(type,url,boolean),该方法具有三个参数。
第三步:发送,调用send方法xhr.send()
向服务器发送数据GET请求
var parme = 'username=' + "车神-黄杰" + '&paw='+ 123 //在IE浏览器会出现乱码 //xhr.open('GET','http://localhost:3000/?' + parme,true) xhr.open('GET','http://localhost:3000/?' + encodeURI(parme),true) POST请求
var parme = 'username=' + "车神-黄杰" + '&paw='+ 123 //调用open方法 xhr.open('POST','http://localhost:3000/',true) //设置Content-Type xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded') //发生数据 xhr.send(parme) 第四步:处理请求
xhr.onreadystatechange = function () { // 状态为4 表示收到数据 if (xhr.readyState === 4){ //状态码为 200 表示数据完整 if (xhr.status === 200){ //接收并处理数据 var rel = xhr.responseText } } } 示例
GETgetAjax() function getAjax(){ //发送Ajax的步骤 var parme = 'username=' + "车神-黄杰" + '&paw='+ 123 //第一步: 创建XMLHttpRequest对象 var xhr = null if (window.XMLHttpRequest){//如果浏览器存在这个对象 则以这种方式创建 xhr = new XMLHttpRequest() } else{//否则 以下面这种方式 xhr = new ActiveXObject('Microsoft.XMLHTTP') } //第二步 准备发送 调用opent方法 (有三个参数) 拼接数据 xhr.open('GET','http://localhost:3003/?' + encodeURI(parme),true) //第三步 发送 调用send方法 xhr.send(null)//get请求 为null //第四步处理请求 绑定事件onreadystatechange xhr.onreadystatechange = function () { // 状态为4 表示收到数据 if (xhr.readyState === 4){ //状态码为 200 表示数据完整 if (xhr.status === 200){ //接收并处理数据 var rel = xhr.responseText //接收的是json数据 使用JSON.parse()转为js对象 console.log("GET: " + JSON.parse(rel).msg) } } } } POSTpostAjax() function postAjax(){ //发送Ajax的步骤 var parme = 'username=' + "车神-黄杰" + '&paw='+ 123 //第一步: 创建XMLHttpRequest对象 var xhr = null if (window.XMLHttpRequest){//如果浏览器存在这个对象 则以这种方式创建 xhr = new XMLHttpRequest() } else{//否则 以下面这种方式 xhr = new ActiveXObject('Microsoft.XMLHTTP') } //第二步 准备发送 调用opent方法 (有三个参数) 拼接数据 xhr.open('POST','http://localhost:3003/?',true) //第三步 发送 调用send方法 //设置Content-Type xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded') xhr.send(parme)//get请求 为null //第四步处理请求 绑定事件onreadystatechange xhr.onreadystatechange = function () { // 状态为4 表示收到数据 if (xhr.readyState === 4){ //状态码为 200 表示数据完整 if (xhr.status === 200){ //接收并处理数据 var rel = xhr.responseText //接收的是json数据 使用JSON.parse()转为js对象 console.log("POST: " + JSON.parse(rel).msg) } } } } node简单服务器 只是部分代码//GET router.get('/',(req,res) =>{ res.json({"msg": "发生成功","code": 1}) }) //POST router.post('/',"code": 1}) }) 打印结果(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |