ajax常见的面试问题

 ajax常见的面试问题

1:什么是ajax?ajax作用是什么?

异步的javascript和xml  AJAX 是一种用于创建快速动态网页的技术。  ajax用来与后台交互

登录后复制

【专题推荐】:2020年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视频教程

以上就是ajax常见的面试问题的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2726487.html

(0)
上一篇 2025年3月7日 23:32:30
下一篇 2025年2月20日 02:55:37

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • ajax实现简单登录页面详解

    本文实例为大家分享了ajax实现简单登录页面的具体代码,供大家参考,具体内容如下 【相关文章推荐:ajax视频教程】 一.什么是ajax Ajax是一种无需重新加载整个网页,能够更新部分网页的技术。 二.ajax的工作原理 Ajax工作原理…

    2025年3月7日
    200
  • 学习ajax实现提交时校验表单方法

    【相关文章推荐:ajax视频教程】 本文实例为大家分享了ajax提交时校验表单的方法,供大家参考,具体内容如下 方法一: 代码示例:  巧妙设计之处:ajax提交的话,不能够进行校验拦截,设置一个flag来判断,很巧妙的设计之处,故收藏! …

    2025年3月7日 编程技术
    200
  • ajax如何实现excel报表导出

    【相关文章推荐:ajax视频教程】 利用ajax实现excel报表导出【解决乱码问题】,供大家参考,具体内容如下 背景 项目中遇到一个场景,要导出一个excel报表。由于需要token验证,所以不能用a标签;由于页面复杂,所以不能使用表单提…

    2025年3月7日
    200
  • 了解Ajax Session失效跳转登录页面的方法

    【相关文章推荐:ajax视频教程】 在Struts应用中,我们发出的请求都会经过 相应的拦截器进行相关处理,一般都会有一个用户登录拦截(Session失效拦截);一般请求的话,如果Session失效时,我们会跳到登录页面,可是如果我们采用A…

    2025年3月7日
    200
  • AJAX实现数据的增删改查操作

    【相关文章推荐:ajax视频教程】 本文实例讲述了AJAX实现数据的增删改查操作。分享给大家供大家参考,具体如下: 主页:index.html nbsp;html>       编号: 姓名: 性别:男:女: 年龄:  15  16 …

    2025年3月7日
    200
  • 认识Ajax基础之数据请求

    相关文章推荐:ajax视频教程 Ajax 概述它是浏览器提供的一套方法,可以实现页面无刷新更新数据,提高用户浏览网站应用的体验。 Ajax 的应用场景 页面上拉加载更多数据 列表数据无刷新分页 表单项离开焦点数据验证 搜索框提示文字下拉列表…

    2025年3月7日 编程技术
    200
  • 认识 ajax

    相关文章推荐:ajax视频教程 1.1 什么是ajax: Ajax即“Asynchronous Javascript And XML”(异步JavaScript 和XML),是指一种创建交互式网页应用的网页开发技术。Ajax=异步JavaS…

    2025年3月7日 编程技术
    200
  • 25道初级Vue.js面试问题

    1. 为什么Vue被称为“渐进框架”? 使用渐进式框架的代价很小,从而使现有项目(使用其他技术构建的项目)更容易采用并迁移到新框架。 Vue.js 是一个渐进式框架,因为你可以逐步将其引入现有应用,而不必从头开始重写整个程序。 Vue 的最…

    2025年3月7日
    200
  • ASP.NET下使用Ajax

    之前在认识Ajax初步理解中介绍了对Ajax的初步理解,本文将介绍在ASP.NET中如何方便使用Ajax,第一种当然是使用jQuery的ajax,功能强大而且操作简单方便,第二种是使用.NET封装好的ScriptManager。 相关免费学…

    2025年3月7日 编程技术
    200
  • jquery和ajax是什么?

    Ajax是指一种创建交互式网页应用的网页开发技术,无需重新加载整个网页的情况下,能够更新部分网页的技术;而jquery是一个快速的,简洁的javaScript库,使用户能更方便地处理HTML documents、events、实现动画效果。…

    2025年3月7日
    200

发表回复

登录后才能评论