10、Ajax

 

1.原生ajax的代码

<script>

var xhr=new XMLHttpRequest();

xhr.onreadystatechange=function(){

if(xhr.status==200||xhr.status==304)

{

if(xhr.readyState==4)

{

console.log(xhr.responseText);

}

}

}

xhr.open("GET","api.txt",true);

xhr.send(null);

</script>

2.什么是ajax(asynchronous javascript and xml 

页面在不刷新的情况下,偷偷地发送HTTP请求到服务器,请求回来的数据局部改变页面。需要使用XMLHttpRequest对象来实现。

3.readyState的值有几个?

4.HTTP状态码

200 成功

304 没有改变

404 没有找到

302 临时移动

500 服务器错误

5、三种方法将字符串变为json

<script>
    var jsonstring='{"name":"郭丹丹"}';
    //第一种方法,注意写法
    console.log(typeof eval("("+jsonstring+")"));
    //第二种方法,注意写法
    console.log(typeof JSON.parse(jsonstring));
    //第三种方法
    var obj=new Function("return"+jsonstring);
    console.log(typeof obj())
</script>

6、GET请求和POST请求的区别

1、GET请求是http的URL地址带信息,POST请求是上行报文体带信息。

2、GET请求不安全,便于分享网址;

3、POST请求安全,可以携带长信息。

7、跨域

(留空)

8、简述Ajax中javaScript脚本缓存问题,如何解决?

Ajax为了效率,所以对同一个URL文件不会多次发出请求,而是会使用上一次的副本。

所以要确保对同一个文件的多次Ajax请求的URL不一样。所以:

方法就是两种: 时间戳、随机数。

$.get("api.php",{z:Math.random()},function(){})

$.get("api.php",{z:Date.parse(new Date())},function(){})

9、Ajax有哪些优点和缺点?

10、如何处理Ajax的中文乱码问题?

最好的方法就是将所有的中文用encodeURI函数处理变为英语字符,比如"%E6%88%91",发送到服务器的时候服务器解码;同样的,服务器发给浏览器的response中的中文,也要被PHP等语言用encodeURI处理,在本地decodeURI解码。

11、请写出一个最熟悉的JavaScript框架(架包),以及该框架中Ajax的使用方法。

jQuery中:

$.get("url",{username:"小明},function(data){

});

$.post("url",{username:"小明},function(data){

});

$.Ajax({

dataType : "jsonp",

url : "api.php?cb=?",

success : function(data){

}

});

12、如何解决Ajax的安全性问题。

密码要用POST请求发送,

如果是JSONP要请求可信任的网站

扫描二维码关注公众号,回复: 2689656 查看本文章

3.发送请求前用正则表达式验证数据有效性,同时服务器端也要验证。

13、使用open方法打开具有浏览器工具条,地址栏,菜单栏的窗口,下列选项正确的是()

   A. open("x.html","HI","toolba=1,scrollbars=1,status=1");

   B. open("HI","scrollbars=1,location=1,status=1");

   C. open("x.html","status=yes,menubar=1,location=1");

   D. open("x.html","HI","toobla=yes,menubar=1,location=1");

14、iE6兼容除创建xhr(每当XHR对象的readyState属性变化的时候都会触发onreadystatechange事件

if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }

15、JavaScript如何得到HTTP的请求头信息和返回的头信息?

使用APIxhr.getResponseHeader() xhr.getRequestHeader();

我曾经用这个东西做过倒计时秒杀特效,获得服务器的时间,防止用户更改本地时间。

         <script type="text/javascript">

                  function fun(){

                           var xhr = new XMLHttpRequest();

                           xhr.onreadystatechange = function(){

                                    if(xhr.readyState == 2){

                                             console.log(xhr.getResponseHeader("Date"))

                                    }

                           }

                           xhr.open("get","1.txt",true);

                           xhr.send(null);

                  }

         </script>

 

猜你喜欢

转载自blog.csdn.net/sinat_36414515/article/details/81323540