美文网首页
ajax跨域问题

ajax跨域问题

作者: 巧克力_404 | 来源:发表于2018-08-10 16:26 被阅读0次

什么是ajax跨域问题,简单来说,就是在前台调用后台服务接口的时候,如果这个接口不是同一个域的,就会产生跨域问题

1、发生跨域问题是浏览器限制的问题

2、发出去的请求本身就是跨域

3、发出去的请求是XHR请求

普通的ajax请求发出的请求的type的xhr 返回的数据是一个json对象,那么什么是jsonp,它是一个官方协议,它是一个约定,它约定了我请求的参数里面如果包含了指定的参数,默认就是callback,这就是一个jsonp请求,服务器发现是jsonp请求的时候就会把返回的值由原来的json对象,转换成script代码,js代码是函数调用的形式,它的函数名称是callback参数的值,函数的参数是原来要返回的json对象,这就是jsonp协议工作的内容。

 jsonp发出去的类型的script 返回的数据是一个js脚本,jsonp不是官方协议,但是它也是一个协议,约定返回的数据是js代码,js代码的内容就是callback的值做为函数名,返回的数据做为函数的参数.

jsonp是通过动态创建script,在script中把这个请求发出去了,在调用没压缩的jq中9800行左右的地方打断点我们就可以看到,jq动态创建一个js文件插入head  cache:true 表示我们的结果可以被缓存

jsonp的弊端:需要服务器改动,只支持GET方法,发送的不是xhr请求

跨域的解决方向: 被调用方解决  / 调用方解决

第一种被调用方解决,这是一种基于支持跨域的一种解决思路,是基于http协议关于跨域方面的一些规定,在响应头里增加相应的字段,告诉浏览器我允许它调用,在这种解决文案面前,跨域请求是直接从浏览器发送出去的

第二种是调用方解决,这是一种隐藏跨域的解决思路,跨域请求不会从浏览器直接发到被调用方,而是从中间的http服务器转发过去的,假设调用方是a.com 被调用方是b.com,在浏览器上全是a.com的请求。

相关文章

  • 解决ajax跨域问题

    Jsonp解决ajax跨域问题 CORS解决ajax跨域问题

  • Http浅析【2】——ajax跨域问题

    视频参考:ajax跨域完全讲解 本文精华版:【综合】ajax跨域问题 什么是跨域问题 简单来讲,当前台调用后台,如...

  • 前端跨域

    什么是ajax跨域 ajax跨域的原理 ajax出现请求跨域错误问题,主要原因就是因为浏览器的“同源策略”,可以参...

  • ajax跨域请求

    ajax跨域请求(jsonp) 利用JSONP解决AJAX跨域问题的原理与jQuery解决方案JSONP jQue...

  • window.postMessage解决前端ajax跨域问题

    postMessage畅快解决跨域问题 本文主要是记录使用window.postMessage解决ajax跨域问题...

  • 使用JSONP解决ajax跨域

    在日常开发中,不免遇到跨域的问题。在这里我们介绍使用Jsonp来解决ajax跨域的问题 什么是跨域? 跨域,指的是...

  • Flask-cors跨域

    什么是跨域 为什么要考虑跨域问题 同源策略 解决跨域问题 方式一: 使用 JSONP (一种非Ajax技术,需要前...

  • SpringMVC 进行ajax跨域请求访问

    关于 springmvc 3.x 版本对ajax跨域请求访问 ajax 请求后,浏览器出现跨域的问题那么在当前环境...

  • 解决跨域问题

    概述 在浏览器端进行 Ajax 请求时会出现跨域问题,那么什么是跨域,如何解决跨域呢?先看浏览器端出现跨域问题的现...

  • 跨域问题

    概述 在浏览器端进行 Ajax 请求时会出现跨域问题,那么什么是跨域,如何解决跨域呢?先看浏览器端出现跨域问题的现...

网友评论

      本文标题:ajax跨域问题

      本文链接:https://www.haomeiwen.com/subject/jmyxbftx.html