前端测试题:(解析)关于ajax跨域的说法,下面错误的是?
考核内容:ajax跨域异步操作数据
题发散度: ★★
试题难度: ★★
解题思路:
Ajax的全称是Asynchronous JavaScript and XML
- Ajax 是什么?
答:Ajax是一种可以在浏览器和服务器之间使用异步数据传输(HTTP请求)的技术。使用它可以让页面请求少量的数据,而不用刷新整个页面。而传统的页面(不使用Ajax)要刷新部分内容,必须重载整个网页页面。
- Ajax 基于什么?
答:它基于的是XMLHttpRequest(XHR)。这是一个比较粗糙的API,不符合关注分离的设计原则(Separation of Concerns),配置和使用都不是那么友好。
- $.ajax 的产生背景?
答:基于上面的原因,各种ajax库引用而生,然而最有名的就是jQuery的API中的 .ajax() 。.ajax() 它的一个优势异步操作,但jQuery的异步操作是基于事件的异步模型,没有promise那么友好。
- fetch 产生的背景?
答:综合上面所讲的各种因素,fetch这个api应运而生。fetch接口是用来解决Ajax(xhr)在写法和调用上的不合理和开放的js接口,Fetch 是浏览器提供的原生 AJAX 接口。使用 window.fetch 函数可以代替以前的 .ajax、.get 和
- 什么是同源?
答:协议、域名、端口都相同的网站就是同源网站,否则就是非同源。 ajax只要是同源就不需要考虑跨域限制。
- 为什么要跨域?
答:ajax不能向非同源服务器发送请求。其实请求可以发送出去,但是浏览器会拒绝接收响应。如何解决这个问题呢?这就是跨域的解决方案
三种方案分别是:代理,CORS(跨域资源共享),JSONP
CORS是一个W3C标准,全称是"跨域资源共享"(Cross-origin resource sharing)。
因为出于安全的考虑, 浏览器不允许Ajax调用当前源之外的资源. 即浏览器的同源策略.
CORS需要浏览器和服务器同时支持。目前,所有主流浏览器都支持该功能,在浏览器端, 整个CORS通信过程,都是浏览器自动完成,不需要用户参与。对于开发者来说,CORS通信与同源的AJAX通信没有差别,代码完全一样。
jquary 只是封装了AJAX的方法,即使不加载jquery也可以实现AJAX
答案:错误的是
D. AJAX是一种技术,或者说是一种思想,
用来实现异步刷新,使用时必须加载JQUERY。
常见考试类型:
- 什么是AJAX,为什么要使用Ajax?
- AJAX应用和传统Web应用有什么不同?
- 请介绍一下XMLhttprequest对象?
- Ajax的实现流程是怎样的?
- AJAX请求总共有多少种CALLBACK?
- AJAX有哪些有点和缺点?
- 请解释一下 JavaScript 的同源策略?
- 阐述一下异步加载JS?
- 如何解决跨域问题?
- Ajax 解决浏览器缓存问题?
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Shell中常用的变量处理、字符串操作
- Shell脚本条件测试与比较
- xtrabackup 实现MySQL数据库备份
- Rsync+Sersync实时同步文件
- CentOS7防火墙firewall操作命令
- centos7搭建NFS共享存储服务
- LVS-NAT负载均衡
- Kali-Dos洪水攻击之Hping3
- CVE-2018-8174 IE浏览器远程代码执行漏洞
- MFS传给CS sessions会话
- windows利用Hashcat字典破解WiFi密码
- tensorflow 使用CPU而不使用GPU的问题解决
- Python图像灰度变换及图像数组操作
- 典型算法的Python实现
- Spring是如何解决循环依赖的