首页 > 试题广场 >

下面关于跨域问题的说法正确的是?

[单选题]
下面关于跨域问题的说法正确的是?
  • 可以利用flash的http请求,来处理跨域问题
  • 通过iframe设置document.domain可以实现跨域
  • 一般情况下,m.toutiao.com可以ajax请求www.toutiao.com域名下的接口并获得响应
  • 通过jsonp方式可以发出post请求其他域名下的接口

javascript中实现跨域的方式总结

  • 第一种方式:jsonp请求;jsonp的原理是利用<script>标签的跨域特性,可以不受限制地从其他域中加载资源,类似的标签还有<img>.
  • 第二种方式:document.domain;这种方式用在主域名相同子域名不同的跨域访问中
  • 第三种方式:window.name;window的name属性有个特征:在一个窗口(window)的生命周期内,窗口载入的所有的页面都是共享一个window.name的,每个页面对window.name都有读写的权限,window.name是持久存在一个窗口载入过的所有页面中的,并不会因新页面的载入而进行重置。
  • 第四种方式:window.postMessage;window.postMessages是html5中实现跨域访问的一种新方式,可以使用它来向其它的window对象发送消息,无论这个window对象是属于同源或不同源。
  • 第五种方式:CORS;CORS背后的基本思想,就是使用自定义的HTTP头部让浏览器与服务器进行沟通,从而决定请求或响应是应该成功还是应该失败。
  • 第六种方式:Web Sockets;web sockets原理:在JS创建了web socket之后,会有一个HTTP请求发送到浏览器以发起连接。取得服务器响应后,建立的连接会使用HTTP升级从HTTP协议交换为web sockt协议。
发表于 2018-09-12 08:58:43 回复(80)
D肯定是错误的
发表于 2017-08-26 19:30:28 回复(1)
选BD
Jsonp(Json with Padding)是json的一种使用模式,用于解决主流浏览器的跨域数据访问的问题
Iframe也可以实现
跨域访问,主要解决的是浏览器的同源策略
同源策略要求协议、域名、端口号都必须相同
编辑于 2017-05-23 14:06:08 回复(2)

JSONP的优点是:它不像XMLHttpRequest对象实现的Ajax请求那样受到同源策略的限制;它

的兼容性更好,在更加古老的浏览器中都可以运行,不需要XMLHttpRequest或ActiveX的支

持;并且在请求完毕后可以通过调用callback的方式回传结果。

JSONP的缺点则是:它只支持GET请求而不支持POST等其它类型的HTTP请求;它只支持跨域

HTTP请求这种情况,不能解决不同域的两个页面之间如何进行JavaScript调用的问题。
发表于 2017-08-18 11:01:25 回复(4)
1.flash,不会
2.正确
3.域名不同不能使用ajax
4.jsonp方式不可以发出post请求其他域名下的接口。
发表于 2017-10-03 12:19:53 回复(0)
jsonp 可以post ????不要逗
发表于 2017-03-05 17:17:03 回复(4)
jsonp只能进行get请求,不能用post请求
发表于 2018-02-12 08:55:36 回复(0)
大家可以看一下这个链接哦https://juejin.im/post/5d70c7f46fb9a06afb61eac5
发表于 2019-09-06 10:12:13 回复(0)
jsonp只能GET,C是因为主域相同子域不同所以不能跨域
发表于 2017-05-16 00:56:17 回复(0)

javascript中实现跨域的方式总结

  • 第一种方式:jsonp请求;jsonp的原理是利用标签的跨域特性,可以不受限制地从其他域中加载资源,类似的标签还有.
  • 第二种方式:document.domain;这种方式用在主域名相同子域名不同的跨域访问中
  • 第三种方式:window.name;window的name属性有个特征:在一个窗口(window)的生命周期内,窗口载入的所有的页面都是共享一个window.name的,每个页面对window.name都有读写的权限,window.name是持久存在一个窗口载入过的所有页面中的,并不会因新页面的载入而进行重置。
  • 第四种方式:window.postMessage;window.postMessages是html5中实现跨域访问的一种新方式,可以使用它来向其它的window对象发送消息,无论这个window对象是属于同源或不同源。
  • 第五种方式:CORS;CORS背后的基本思想,就是使用自定义的HTTP头部让浏览器与服务器进行沟通,从而决定请求或响应是应该成功还是应该失败。
  • 第六种方式:Web Sockets;web sockets原理:在JS创建了web socket之后,会有一个HTTP请求发送到浏览器以发起连接。取得服务器响应后,建立的连接会使用HTTP升级从HTTP协议交换为web sockt协议。
发表于 2021-05-25 19:01:05 回复(1)

站内AJAX跨域可以通过document.domain和iframe实现,比如www.css88.com、js.css88.com、css88.com这3个域名其实是3个不同的域,很多时候www.css88.com和css88.com打开的可能是用一个页面,但是,他们确实是不同的域,比如www.css88.com的页面通过ajax无法直接获取css88.com域下的数据,这是由于js的安全性引起的。

不过我们可以通过document.domain和iframe实现在站内的ajax跨域。

查看demo:http://www.css88.com/demo/iframe-domain/

还有一点要注意,这个方法需要在iframe加载后才能使用!

发表于 2017-09-22 16:40:57 回复(0)
jsonp只能get

发表于 2017-08-26 02:25:26 回复(0)
害搁这flash呢....
发表于 2020-03-17 12:55:33 回复(0)

Document.domain

已弃用: 不再推荐使用该特性。虽然一些浏览器仍然支持它,但也许已从相关的 web 标准中移除,也许正准备移除或出于兼容性而保留。请尽量不要使用该特性,并更新现有的代码;参见本页面底部的兼容性表格以指导你作出决定。请注意,该特性随时可能无法正常工作。


发表于 2023-05-20 15:11:50 回复(0)
jsonp只能发送get请求 所以D错。m.toutiao.com与www.taobao.com域名不一样,属于跨域。所以C不对。
编辑于 2022-02-18 11:36:03 回复(0)

JSONP的缺点则是:它只支持GET请求而不支持POST等其它类型的HTTP请求;它只支持跨域HTTP请求这种情况,不能解决不同域的两个页面之间如何进行JavaScript调用的问题。

发表于 2021-05-31 08:56:41 回复(0)
A为什么不对呢
发表于 2021-03-10 17:30:20 回复(0)
记录
发表于 2020-06-28 18:14:55 回复(0)
jsonp 跨域只支持get方法,不支持post方法
CORS 跨域请求

发表于 2019-07-29 22:59:06 回复(0)