分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 技术分享

ajax

发布时间:2023-09-06 01:29责任编辑:苏小强关键词:暂无标签
1、ajax 原理js提供了一个类 XMLHttpRequest,实例化该对象xhr= new XMLHttpRequest()这个时候 可以通过xhr对象发送http请求,并接收返回的信息所以 ajax 是xhr对象 执行http请求2、xhr对象a.创建xhr对象xhr= new XMLHttpRequest();b.xhr的方法xhr.open(‘get/post‘,url,true/false);//第一个参数是请求方式,url代表请求地址,第三个参数代表请求是异步还是同步xhr.send([null])//当使用get,或者post,只是请求而不发送数据的时候用null//当使用post方式的时候,要发送数据,则这个参数格式是:name=lisi&age=18c.xhr属性 注:ajax请求返回数据的类型只有两种(text和xml),而text又分为(text,html,json)readyState // 请求的状态,从0-4变化,当变化到4时结束请求responseText //请求后返回的内容responseXML //请求xml返回的xml文档格式的内容status //响应状态码,200 404 403等statusText // 响应状态文字 ok not found forbiddend.xhr事件xhr.onreadystatechange = function(){} //当readyState状态变化时 会被触发3、xhr发送post查询xhr.open(‘post‘,url,true);data = ‘name=lisi&age=18‘;//注意要设置头信息setRequsetHeader(‘Content-Type‘,‘application/x-www-form-urlencoded‘);xhr.send(data);4、json串的处理a.用原生的办法eval( ‘(‘ + json + ‘)‘ )//在json串前后加括号 然后转换为可执行的代码b.用JSON的parse方法JSON.parse(json)5、xmla.书写格式  注意以下是固定格式<?xml version=‘1.0‘ encoding=‘utf-8‘ ?><school><grade><class><student><sno>000001</sno><name>张三</name><sex>男</sex><age>18</age></student></class></grade></school>b.ajax请求 返回的xml处理xml也是对象,也是dom,可以直接进行dom操作来处理如:var name = return_xml.getElementsByTagName(‘name‘);//张三6、ajax跨域 (ajax 默认情况下只能请求同域名下的内容)a.HTML5 设置头信息来允许跨域访问header(‘Access-Controll-Allow-Orign:*‘)//这个可以是*也可以是域名(192.168.2.136,192.168.3.164)b.jsonp [严格说不是ajax技术]i.通过一个连接的返回值[返回值是一个test(obj)这样的形式]ii.然后可以用js来引入这个对应的地址iii.最后在js里面写一个方法[如上面的test(obj)]来实现上面的返回例子:input.oninput = function (){var url = ‘http://sug.so.360.cn/suggest?callback=suggest_so&encodein=utf-8&encodeout=utf-8&format=json&fields=word,obdata&word=‘+encodeURI(this.value);var sc = document.createElement(‘script‘);sc.src = url;head.appendChild(sc);}function suggest_so(obj){for(var i=0,str=‘‘;i<obj.result.length;i++){str += ‘<li>‘ + obj.result[i].word + ‘</li>‘; }ul.innerHTML = str;tjian.style.display = ‘block‘;}7、ajax文件上传//文件上传实现进度条xhr.upload.onprogoress = function(ev){if(ev.lengthComputable == true){var per = 100 * ev.loaded/total;//百分比}}8、comet 反向ajax最简单的模型set_time_limit(0);ob_start();echo str_repeat(‘ ‘, 4000,‘<br>‘);ob_flush();flush();$i=0;while (1) {echo $i++.‘<br>‘;ob_flush();flush();sleep(1);}ajax 长轮询(适用于客户端)客户请求数据,然后异步查询,如果查到了数据那么返回数据并结束本次ajax请求,同时在客户端页面又立即发送刚才的ajax请求如果没有查到数据,就一直查询(1秒查询一次sleep),直到有数据

ajax

原文地址:http://www.cnblogs.com/lauhp/p/7999545.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved