跨域

域名地址的组成

http://         www  .      abc.com   :    8080    /     script/jquery.js

协议           子域名         主域名           端口号          请求资源地址

  • 当协议,子域名,主域名,端口号中任意一个不同时,都算作不同域。
  • 不同域之间相互请求资源,就算做 “跨域"

出于安全的考虑,不允许跨域调用其它页面的对象。简单的理解就是a.com域名下的js无法操作b.com或者c.com域名下的对象。

代理

  • 通过在同域名的Web服务器端创建一个代理
  • 例如: 服务器一(域名:www.first.com) 服务器二(域名:www.second.com
  • 比如在第一个服务器后台(www.first.com/proxy-firstservice.php)来调用第二个服务器(www.second.com/service.php)的服务,再把相应结果发送给前端,这样前端调用第一个服务器同域名的服务就和调用第二个服务器的服务效果相同了。

JSONP

JSONP可用于解决主流浏览器的跨域数据访问的问题。

注意:只能对GET请求有效果!!!

同样对服务器端代码进行修改(jsonp中连接字符串使用 “ . ” )

可以在发送请求中清楚看见参数callback 后面的jQuery....为随机生成的参数值

再查看返回值

参数值 :jQuery1111018177324043309095_1565923075763

返回值:jQuery1111018177324043309095_1565923075763({"success":true,"msg":"找到员工:员工编号:101,员工姓名:洪七,员工性别:男,员工职位:总经理"})。

对比发现,两个参数值一样。

jsonp为什么不支持POST?

jsonp的本质是:动态创建script标签,然后通过他的src属性发送跨域请求,不同意然后服务器相应的数据格式为【函数调用foo(实参)】,所以在发送请求之前必须声明一个函数,并且函数的名字与参数中传递的名字要一致。

原理就是从服务端加载一段脚本(用script标签),然后把数据放到一个函数参数里面,再然后浏览器里定义的那个函数就能拿到那个数据了~

注意:标签里只能发GET

XHR2

HTML提供的XMLHttpRequest Level2已经实现了跨域访问以及其他的一些新功能。IE10以下的都不支持!!!

在服务器端做一点改造:

header('Access-Control-Allow-Origin:*');header('Access-Control-Allow-Methods:*');

XHR2通信基础

Mr.J---重拾Ajax(四)-- 跨域相关推荐

  1. ajax 跨域请求数据,JQuery Ajax执行跨域请求数据的解决方案

    JQuery Ajax执行跨域请求数据的解决方案 今天前端因为需要ajax调用两个不同的项目,请求域不一样,所以涉及ajax跨域的问题 ,其实很简单,具体如下 原来的ajax请求如下: $.ajax( ...

  2. ajax是如何实现跨域的,在JS中如何实现ajax与ajax的跨域请求

    下面小编就为大家分享一篇原生JS实现ajax与ajax的跨域请求实例,具有很好的参考价值,希望对大家有所帮助.一起跟随小编过来看看吧 一.原生JS实现ajax 第一步获得XMLHttpRequest对 ...

  3. jfinal里使用ajax,Jfinal解决AJAX的跨域请求

    JFinal 是基于 Java 语言的极速 WEB + ORM 框架,其核心设计目标是开发迅速.代码量少.学习简单.功能强大.轻量级.易扩展.Restful. 一开始使用AJAX来传输json数据时, ...

  4. 利用Nginx轻松实现Ajax的跨域请求(前后端分离开发调试必备神技)

    利用Nginx轻松实现浏览器中Ajax的跨域请求(前后端分离开发调试必备神技) 前言 为什么会出现跨域? 造成跨域问题的原因是因为浏览器受到同源策略的限制,也就是说js只能访问和操作自己域下的资源,不 ...

  5. vb跨域访问ajax,解决AJAX的跨域访问-两种有效示例

    这篇文章主要为大家详细介绍了解决AJAX的跨域访问-两种有效示例,具有一定的参考价值,可以用来参考一下. 感兴趣的小伙伴,下面一起跟随512笔记的小玲来看看吧!新的W3C策略实现了HTTP跨域访问,还 ...

  6. ajax+php跨域请求数据库,基于jQuery的ajax跨域请求,PHP作为服务器端代码

    ajax实现跨域请求有两种方式: 方法一:jsonp的方式 jsonp方式的关键点在客户请求以jsonp作为数据类型,服务器端接收jsonp的回调函数,并通过回调函数进行数据的传输.具体代码如下: 客 ...

  7. ASP.Net中关于WebAPI与Ajax进行跨域数据交互时Cookies数据的传递

    本文主要介绍了ASP.Net WebAPI与Ajax进行跨域数据交互时Cookies数据传递的相关知识.具有很好的参考价值.下面跟着小编一起来看下吧 前言 最近公司项目进行架构调整,由原来的三层架构改 ...

  8. 解决Ajax不能跨域的方法

    1.  Ajax不能跨域请求的原因 同源策略(Same Origin Policy),是一种约定,该约定阻止当前脚本获取或者操作另一个域下的内容.所有支持Javascript的浏览器都支持同源策略,也 ...

  9. jquery ajax 解决跨域访问问题

    当使用jquery ajax进行跨域请求时,会出现Access-Control-Allow-Origin错误 //获取验证码 var send_status = true; $('#pull_code ...

  10. java ajax传输图片_Java使用Ajax实现跨域上传图片功能

    说明 : 图片服务器是用Nginx搭建的,用的是PHP语言 这个功能 需要 用到两个js文件: jquery.js和jQuery.form.js function submitImgSize1Uplo ...

最新文章

  1. 学习使用React和Electron一次构建自己的桌面聊天应用程序
  2. PyTorch基础(13)-- torch.nn.Unfold()方法
  3. SQL Server2008存储结构之聚集索引
  4. 计算机辅助分析及应用论文,故障树计算机辅助分析及应用研究-机械制造及自动化专业论文.docx...
  5. 离线更新VSAN HCL数据库
  6. mysql 阿里云 版本_阿里云虚拟主机mysql已经支持版本切换,支持MySQL 5.7.25
  7. 从skyeye学习arm( 工具篇)
  8. 数字图像处理 DCT变换
  9. tan和cot的梗_tan与cot有什么区别和联系
  10. docker gitlab 初始密码查看
  11. 866 数据结构模拟题(一)及解析
  12. 数据结构-连续线段-C语言-[输入n条线段各个端点坐标,求包含最多线段的连续线段]
  13. 值得收藏的机器学习资源
  14. linux samba 实验 Windows无法访问\\ 请检查名称的拼写。否则,网络可能有问题。 就一个小问题!!已解决!!!
  15. 基于Django开发的购物网站,类似于京东商城Django_Store
  16. java语言的三个版本是_Java是一个全面且功能强大的语言,可用于多种用途。Java有三个版本分别是:_学小易找答案...
  17. DM——数据处理基础之数据、数据统计特性
  18. 全国计算机一级wps网络,全国计算机一级考试试题wps及答案
  19. K13140 环形跑道(简化版)
  20. Java开发规范之代码格式篇(上)

热门文章

  1. 你想入门Python,还是得看这篇文章
  2. anchor free 目标检测_《目标检测》系列之二:目标检测中的Anchor机制回顾
  3. 【TensorFlow】TensorFlow从浅入深系列之十二 -- 教你深入理解卷积神经网络中的池化层
  4. 无意间发现BAT大佬总结的一份目标检测、卷积神经网络和OpenCV学习资料(教程/PPT/代码)...
  5. 收藏 | 可解释机器学习发展和常见方法!
  6. 带你自学Python系列(七):Python列表复制陷阱
  7. java http 包_java http请求
  8. 语义信息增强的激光雷达SLAM
  9. 数据结构(十三)树的遍历
  10. 算法移植优化(一)android 学习笔记