1:什么是ajax?ajax作用是什么?
异步的javascript和xml ajax 是一种用于创建快速动态网页的技术。 ajax用来与后台交互2:原生js ajax请求有几个步骤?分别是什么
//创建 xmlhttprequest 对象var ajax = new xmlhttprequest();//规定请求的类型、url 以及是否异步处理请求。ajax.open('get',url,true);//发送信息至服务器时内容编码类型ajax.setrequestheader("content-type", "application/x-www-form-urlencoded"); //发送请求ajax.send(null); //接受服务器响应数据ajax.onreadystatechange = function () { if (obj.readystate == 4 && (obj.status == 200 || obj.status == 304)) { }};3:json字符串转换集json对象、json对象转换json字符串
//字符串转对象json.parse(json)eval('(' jsonstr ')') // 对象转字符串json.stringify(json)4:ajax几种请求方式?他们的优缺点?
常用的post,get,delete。不常用copy、head、link等等。
###代码上的区别 1:get通过url传递参数 2:post设置请求头 规定请求数据类型###使用上的区别 1:post比get安全 (因为post参数在请求体中。get参数在url上面) 2:get传输速度比post快 根据传参决定的。 (post通过请求体传参,后台通过数据流接收。速度稍微慢一些。而get通过url传参可以直接获取) 3:post传输文件大理论没有限制 get传输文件小大概7-8k ie4k左右 4:get获取数据 post上传数据 (上传的数据比较多 而且上传数据都是重要数据。所以不论在安全性还是数据量级 post是最好的选择)5:什么情况造成跨域?
同源策略限制 不同源会造成跨域。以下任意一种情况不同,都是不同源。
http://www.baidu.com/8080/index.html
http://协议不同www子域名不同baidu.com主域名不同8080端口号不同www.baidu.comip地址和网址不同6:跨域解决方案有哪些?1:jsonp 只能解决get跨域(问的最多)原理:动态创建一个script标签。利用script标签的src属性不受同源策略限制。因为所有的src属性和href属性都不受同源策略限制。可以请求第三方服务器数据内容。步骤:去创建一个script标签script的src属性设置接口地址接口参数,必须要带一个自定义函数名 要不然后台无法返回数据。通过定义函数名去接收后台返回数据
//去创建一个script标签var script = document.createelement("script");//script的src属性设置接口地址 并带一个callback回调函数名称script.src = "http://127.0.0.1:8888/index.php?callback=jsonpcallback";//插入到页面document.head.appendchild(script);//通过定义函数名去接收后台返回数据function jsonpcallback(data){ //注意 jsonp返回的数据是json对象可以直接使用 //ajax 取得数据是json字符串需要转换成json对象才可以使用。}2:cors:跨域资源共享原理:服务器设置access-control-allow-originhttp响应头之后,浏览器将会允许跨域请求限制:浏览器需要支持html5,可以支持post,put等方法兼容ie9以上
需要后台设置access-control-allow-origin: * //允许所有域名访问,或者access-control-allow-origin: http://a.com //只允许所有域名访问3:设置 document.domain原理:相同主域名不同子域名下的页面,可以设置document.domain让它们同域限制:同域document提供的是页面间的互操作,需要载入iframe页面
// url http://a.com/foovar ifr = document.createelement('iframe');ifr.src = 'http://b.a.com/bar'; ifr.onload = function(){ var ifrdoc = ifr.contentdocument || ifr.contentwindow.document; ifrdoc.getelementsbyid("foo").innerhtml);};ifr.style.display = 'none';document.body.appendchild(ifr);4:用apache做转发(逆向代理),让跨域变成同域7:http常见状态码有哪些?一: 2开头状态码
2xx (成功)表示成功处理了请求的状态代码
200 (成功) 服务器已成功处理了请求。 通常。二: 3开头状态码
3xx (重定向) 表示要完成请求,需要进一步操作。 通常,这些状态代码用来重定向。
304 (未修改) 自从上次请求后,请求的网页未修改过。 服务器返回此响应时,不会返回网页内容。三: 4开头状态码
4xx(请求错误) 这些状态代码表示请求可能出错,妨碍了服务器的处理
1:400 (错误请求) 服务器不理解请求的语法。 2:403 (禁止) 服务器拒绝请求。3:404 (未找到) 服务器找不到请求的网页。四: 5开头状态码
5xx(服务器错误)这些状态代码表示服务器在尝试处理请求时发生内部错误。 这些错误可能是服务器本身的错误,而不是请求出错
500 (服务器内部错误) 服务器遇到错误,无法完成请求。501 (尚未实施) 服务器不具备完成请求的功能。 例如,服务器无法识别请求方法时可能会返回此代码。502 (错误网关) 服务器作为网关或代理,从上游服务器收到无效响应。503 (服务不可用) 服务器目前无法使用(由于超载或停机维护)。 通常,这只是暂时状态。504 (网关超时) 服务器作为网关或代理,但是没有及时从上游服务器收到请求。505 (http 版本不受支持) 服务器不支持请求中所用的 http 协议版本。相关文章推荐:ajax视频教程
贝壳云服务器会挂吗正确判断关键词难度实战方法、由小到大、同级对比操作思路腾讯云服务器特价相关云计算内容问题域名现在要实现两个效果一个是跳转到二个是跳转到第一个通过docker容器如何迁移云服务器的备案号电脑使用QQ电脑管家关闭ARP防火墙的方法阿里云服务器只能放一个网站吗