1、ajax是什么?如何创建一个ajax?

ajax并不算是一种新的技术,全称是asynchronous javasript and xml,可以说是已有技术的组合,主要用来实现客户端服务器的异步通信效果,实现页面的局部刷新,早期的浏览器并不能原生支持ajax,可以使用隐藏帧(iframe)方式变相实现异步效果,后来的浏览器提供了对ajax的原生支持。

使用ajax原生方式发送请求主要通过XMLHttpRequest(标准浏览器)、ActiveXObject(IE浏览器)对象实现异步通信效果。

//ajax编写步骤//1、创建XMLHttpRequest对象

var xhr = newXMLHttpRequest();//2、设置请求参数

xhr.open(请求方式,请求地址,异步或同步);//3、设置回调函数

request.onreadystatechange = function(){if(xhr.reasyState===4){if(xhr.status === 200) {//5、接受响应

console.log(xhr.responseText);

}

}

}//4、发送请求

xhr.send();

2、同步和异步的区别?

同步:浏览器向服务器请求数据,服务器比较忙,浏览器一直等着(页面白屏),直到服务器返回数据,浏览器才能显示页面。

异步:浏览器向服务器请求数据,服务器比较忙,浏览器可以自如的干原来的事情(显示页面),服务器返回数据的时候通知浏览器一声,浏览器把返回的数据再渲染到页面,局部更新。

3、如何解决跨域问题?

理解跨域的概念:协议、域名、端口都相同才同域,否则都是跨域。

出于安全考虑,服务器不允许ajax跨域获取数据,但是可以跨域获取文件内容,所以基于这一点,可以动态创建script标签,使用标签的src属性访问js文件的形式获取js脚本,并且这个js脚本中的内容是函数调用,该函数调用的参数是服务器返回的数据,为了获取这里的参数数据,需要事先在页面中定义回调函数,在回调函数中处理服务器返回的数据,这就是解决跨域问题的主流解决方案。

4、请解释一下javaScript的同源策略

同源策略是客户端脚本的重要安全度量标准,所谓同源指的是:协议,域名,端口相同,同源策略是一种安全协议,指一段脚本只能读取来自同一来源的窗口和文档的属性。

5、GET和POST的区别,何时使用POST?

GET:一般用于信息获取,使用URL传递参数,对所发送信息的数量也有限制,一般在2000个字符,有的浏览器是8000个字符。

POST:一般用于修改服务器上的资源,对所发送的信息没有限制。

以下情况中,请使用POST请求:

①、无法使用缓存文件(更新服务器上的文件或数据库)

②、向服务器发送大量数据(POST没有数据量限制)

③、发送包含未知字符的用户输入时,POST比GET更稳定也更可靠。

6、ajax的最大特点是什么?

ajax可以实现异步通信效果,实现页面局部刷新,带来更好的用户体验;按需要获取数据,节约带宽资源。

7、ajax的缺点?

①、ajax不支持浏览器back按钮。

②、安全问题ajax暴露了与服务器交互的细节。

③、对搜索引擎的支持比较弱。

④、破坏了程序的异常机制。

8、解释jsonp的原理,以及为什么不是真正的ajax?

jsonp并不是一种数据格式,而是json是一种数据格式,jsonp是用来解决跨域获取数据的一种解决方案,具体是通过动态创建script标签,然后通过标签src属性获取js文件中的js脚本,该脚本的内容是一个函数调用,参数就是服务器返回的数据,为了处理这些返回的数据,需要事先在页面定义好回调函数,本质上使用的并不是ajax技术。

9、HTTP状态码都有哪些?

200 OK 客户端请求成功

301 资源(网页等)被永久转移到其他URL

400 Bad Request 客户端请求有语法错误,不能被服务器所理解

403 Forbidden 服务器收到请求,但是拒绝提供服务

404 Not Found 请求资源部存在,输入了错误的URL

500 Internal Server Error 服务器发生不可预期的错误

503 Server Unavailable 服务器当前不能处理客户端的请求,一段时间后可能恢复正常。

10、为什么利用多个域名来存储网站资源会更有效?

确保用户在不同地区能用最快的速度打开网站,其中某个域名崩溃用户也能通过其他域名访问网站,并且不同的资源放到不同的服务器上有利于减轻单台服务器的压力。

ajax带来的主要问题有哪些,ajax面试题相关推荐

  1. 转载--ASP解决AJAX带来的码问题

    转载--ASP解决AJAX带来的码问题 只用在后台处理页面加上 Response.ContentType = "text/html" Response.Charset = &quo ...

  2. Asp.net中的AJAX学习记录之一 AJAX技术的崛起与Asp.net AJAX的诞生

      最近开始学习Asp.net中的AJAX,可能我的高手朋友们会说:"走还不稳呢!怎么就想学跑了?"呵呵!主要是我在做项目中体会到AJAX真的是很好的一门技术,应该好好的学习一下, ...

  3. [转]掌握Ajax 第 2 部分: 使用 JavaScript 和 Ajax 发出异步请求 [IBM]

    转自:http://www.ibm.com/developerworks/cn/xml/wa-ajaxintro2/ 掌握 Ajax,第 2 部分: 使用 JavaScript 和 Ajax 发出异步 ...

  4. 再也不学AJAX了!(二)使用AJAX

    在上一篇文章中我们知道,AJAX是一系列技术的统称.在本篇中我们将更进一步,详细解释如何使用Ajax技术在项目中获取数据.而为了解释清楚,我们首先要搞清楚我们是从哪里获取数据的,其次我们关注的才是获取 ...

  5. ajax servlet设置响应,在jquery的请求ajax与在servlet中的响应ajax

    这次给大家带来在jquery的请求ajax与在servlet中的响应ajax,在jquery的请求ajax与在servlet中的响应ajax的注意事项有哪些,下面就是实战案例,一起来看一下. 在jsp ...

  6. Ajax工作原理和原生JS的ajax封装

    前言: 之所以用ajax作为博客的开篇,是因为无论从ajax的出现还是从它的作用上来说,ajax对于前端无疑是意义重大的.甚至可以说,是ajax带来了前端这个行业.当然,历史并不能说明当下,曾经的辉煌 ...

  7. html用ajax做三级联动,怎样使用JS+AJAX做出三级联动

    这次给大家带来怎样使用JS+AJAX做出三级联动,使用JS+AJAX做出三级联动的注意事项有哪些,下面就是实战案例,一起来看一下. js 三级联动的实现代码如下所示: js原生ajax -请选择 省/ ...

  8. 原声ajax发送post请求,原生JS实现ajax 发送post请求

    1. [代码]原生JS实现ajax 发送post请求 var oStr = ''; var postData = {}; var oAjax = null; //post提交的数据 postData ...

  9. thinkphp ajax volist,thinkphp中volist标签在ajax使用有哪些注意事项

    这次给大家带来thinkphp中volist标签在ajax使用有哪些注意事项,下面就是实战案例,一起来看一下. 背景 在一个ThinkPHP的复杂页面(包含volist)中实现volist标签显示Jq ...

最新文章

  1. 如何在NLP中有效利用Deep Transformer?
  2. PL/SQL Developer 导出表结构和表数据
  3. 文章内容排版对网站优化有哪些影响?
  4. Cambridge center for digital innovation at judge business school
  5. JBOSS 5.0GA 配置布署
  6. NC反弹的小demo
  7. ubantu自启脚本
  8. Beetl学习(一)
  9. 哪一瞬间让你下定决心减肥,并且坚定不移的执行,最终瘦身成功?
  10. eclips 创建 maven项目
  11. python爬虫爬取今日头条_爬取今日头条头条号文章数据
  12. Unity 2D 混合树小例子
  13. vs2010+opencv2.4.9配置========重点说明
  14. 【linux】利用ssh、sshpass和rsync命令,实现免密同步文件,指定非22端口
  15. 练习:对十进制正整数求平方和
  16. 高德地图实现租房学习
  17. 几种抠象技术理论试验-1 (Luma-Key,Chroma-Key)
  18. 记住c0000005 Access Violation 崩溃
  19. 基于django搭建收集QQ账号和密码系统
  20. layui tree支持搜索

热门文章

  1. HashMap源码解析(JDK1.8)
  2. 我在 MySQL 的那些年
  3. 最佳实践:HTAP数据库TBase助力某省级单位核心系统IT架构升级
  4. TXSQL企业级特性揭秘:加密与审计
  5. Linux 查看服务器开放的端口号
  6. Redux Vuex
  7. 多级嵌套json格式
  8. 常见的几个大数据名词:OLAP、OLTP、BI到底代表着什么?
  9. flatmap和map的区别!
  10. 多线程与高并发(五):强软弱虚四种引用以及ThreadLocal的原理与源码