探探秘秘ajax跨跨域域请请求求

本文讲解的是怎么利用ajax实现跨域请求,那么知道“ 同源策略”,就可以解决很多疑问 :“为 我的ajax加载不了数

据 !”“为 浏览器控制台会对我如此漂亮的代码报错 !”这就是我们今天要主要探讨的内容了。

前前言言

ajax,用苍白的话赞扬 :很好。

我们可以使用ajax实现异步获取数据,减少服务器运算时间,大大地改善用户体验 ;我们可以使用ajax实现小系统组

合大系统 ;我们还可以使用ajax实现前端的优化。 (好一个排比)

虽然ajax很好,但在使用起来也会有一定的限制,出于安全考 ,不允许跨域通信。如果尝试从不同的域请求数据,

会出现安全错误。 (下面例子1可以直观看出)

同同源源策策略略限限制制

同源策略阻止从一个域上加载的脚本获取或操作另一个域上的文档属性。也就是说,受到请求的 URL 的域必须与当

前 Web 页面的域相同。这意味着浏览器隔离来自不同源的内容,以防止它们之间的操作。这个浏览器策略很旧,从

Netscape Navigator 2.0 版本开始就存在。——摘自developerWorks

所谓同源是指,域名,协议,端口相同。

平平地地一一声声吼吼

本文讲解的是怎么利用ajax实现跨域请求,那么知道“ 同源策略”,就可以解决很多疑问 :“为 我的ajax加载不了数据

!”“为 浏览器控制台会对我如此漂亮的代码报错 !”

例子1

先先上上一一个个错误示示范范

客户端代码 :

代码如下: 复制代码

script>

// 客户端使用getJSON方法请求另一台机子上的脚本

$.getJSON("http:// 20/new/ajax.php",function(json){

alert(json.website);

});

/script>

服务端PHP脚本代码 :

代码如下: 复制代码

?php

// ajax.php

header('Content-type: application/json');

echo json_encode(array('website'=>'hcoding'));

?>

firefox下的错误提示 :

根据同源策略的概念,localhost和20是出于不同的域名下的,所以跨域请求理所当然地被浏览器拒绝了。

JSONP

JSONP (JSON with Padding)是资料格式 JSON 的一种“使用模式”,可以让网页从别的网域要资料。另一个解决这个

问题的新方法是跨来源资源共享。由于同源策略,一般来说位于 的网页无法与不是 server1.ex

的服务器沟通,而 HTML 的 script> 元素是一个例外。利用 script> 元素的这个开放策略,网页可以得

到从其他来源动态产生的 JSON 资料,而这种使用模式就是所谓的 JSONP。用 JSONP 抓到的资料并不是 JSON,而

是任意的 JavaScript,用 JavaScript 直译器执行而不是用 JSON 解析器解析。——摘自维基百科

这话该怎么理解呢 !我个人是这样认为的,用 script>跨域的请求数据,跨域的服务器返回一段 【JavaScript代码】,

是 的,你没看错,不是json格式数据,是JavaScript代码,这样,这段代码就由JavaScript 直译器执行。上例子更直

观 :

例子2

客户端代码 :

代码如下: 复制代码

script>

// 这是回调方法

function cb(data){

alert(data.website);

}

/script>

!--这是跨域请求的代码,切记,这段代码要在回调函数之后-->

script src="http:// 20/new/ajax_jsonp.php?callback=cb"> /scri

ajax跨域.pdf,探秘ajax跨域请求.pdf相关推荐

  1. php p3p跨域登录,php+ajax实现多域名跨域登录例子(基于P3P)

    在以前如果我们要实现php+ajax实现多域名跨域登录的话很多朋友都碰到无法正常跨域登录问题,下面我来给大家解决跨域名登录问题,有需要的参考. 该同步登陆需求需满足以下三个关键点: 1)A域名下登陆的 ...

  2. JS跨域访问(ajax跨域)

    好吧,国庆有点不务正业,玩了几天游戏,咳咳 感觉还不错,放松下,本来是打算学angular2的,国庆的时候刚好也看到vue2的正式版本发布,恩,最后都没看.. 正言 为什么会出现跨域? 跨域的产生是因 ...

  3. ajax跨域服务器404,Ajax和跨域

    集成用多了连这都忘了系列(三) AJAX 1.什么是Ajax ajax=异步js和XML,是一种用于创建快速动态网页的的技术,可以在整个网页不刷新的情况下对网页的某一部分进行更新. 2.ajax工作原 ...

  4. mvc ajax post json数据,springmvc解决ajax post json格式数据的跨域问题

    前言:今天解决js跨域,搞了一下午,呜呜,以下是我整理的一些解决方法. Paste_Image.png JsonTest click me var jsonData = JSON.stringify( ...

  5. 只有ajax会跨域吗_ajax解决跨域

    http://www.cnblogs.com/sunxucool/p/3433992.html 为什么会出现跨域 跨域问题来源于JavaScript的同源策略,即只有 协议+主机名+端口号 (如存在) ...

  6. ajax上送src,使用script的src实现跨域和类似ajax效果

    场景 假如有两个域名不同的服务器, a.com和b.com,在b.com/b_return_js.PHP这个接口里, 可以获取一些数据. 当然,假如是b.com的页面里, 可以使用ajax,直接请求这 ...

  7. ajax跨域请求wcf,ajax wcf 指定某个域名 进行跨域访问

    Hi fss, 你是怎么实现ajax wcf发布后可以被任意域名访问的? 根据我的理解和测试,创建一个新的wcf ajax enabled service是不支持跨域访问的.需要自己加功能来实现跨域访 ...

  8. PHP的介绍及应用,ajax的介绍及应用,跨域问题及jsonp解决方法

    PHP(服务器编程语言) 服务器由环境(Apache),数据库(mysql),代码(HTML+css +js,php)组成. PHP必须在服务器的环境下执行 php与js最大的区别就是工作环境,PHP ...

  9. 【AJAX 笔记】AJAX 基本、HTTP 基本、原生 AJAX 的使用,jQuery / Axios / fetch 发送请求、跨域(JSONP/CORS)

    文章目录 1 Ajax 概述 1.1 AJAX 简介 1.2 XML 简介 1.3 AJAX 的特点 1.3.1 AJAX 的优点 1.3.2 AJAX 的缺点 1.4 AJAX 属性和方法 2. H ...

  10. html 跨域_常见跨域解决方案以及Ocelot 跨域配置

    常见跨域解决方案以及Ocelot 跨域配置 Intro 我们在使用前后端分离的模式进行开发的时候,如果前端项目和api项目不是一个域名下往往会有跨域问题.今天来介绍一下我们在Ocelot网关配置的跨域 ...

最新文章

  1. ThreeJS 屏幕坐标与世界坐标互转
  2. CentOS 7 Redis 3.2.8的安装和使用
  3. Java异常ClassCastException
  4. LintCode Longest Increasing Continuous Subsequence
  5. BIOS中断相关资料和应用
  6. 温昱谈架构和框架(Framework)的区别
  7. python-OpenCV图像的基本运算
  8. NOIP2001数的计算
  9. 个人源码管理,SVN本地化
  10. 用USBISP/USBasp编程器给Atmega328P下载Arduino bootloader引导程序
  11. 基于MATLAB的数字滤波器之低通滤波器
  12. 小写字母转大写代码HTML,字母大小写转换.html
  13. VO、DTO、BO、PO、DO、POJO 数据模型的理解和实际使用
  14. cf 581A— Vasya the Hipster
  15. [转]基于大规模语料的新词发现算法
  16. 解决在stata横向合并出现的not uniquely identify observations in the using/master data
  17. Windows环境下配置深度强化学习环境玩Atari游戏
  18. 微信小程序之日期时间筛选器实现(支持年月日时分)
  19. 《人力资源管理》在线作业
  20. OPENCV图片批量更换文字

热门文章

  1. win查看GPU信息
  2. Excel 横向比例图
  3. Atitit 数据库核心技术index索引技术 btree hash lsm fulltxt目录1.1. HASH
  4. Atitit orm 之道 艾龙著 1. 一、ORM的由来 1 2. ORM的组成:      2 3.  常见的ORM框架:      3 4. 、ORM与数据持久化的关系 3 5. Atitit
  5. Atitit.软件与编程语言中的锁机制原理attilax总结 1. 用途 (Db,业务数据加锁,并发操作加锁。 2 2. 锁得类型 3 2.1. 排它锁 “互斥锁 共享锁 乐观锁与悲观锁 乐观锁:
  6. atitit 部门日常工作流程体系 日常日程表 日常工作内容列表清单.docx
  7. Atitit需求文档模板大纲目录 attilax总结
  8. Atitit 拦截数据库异常的处理最佳实践
  9. atitit.错误:找不到或无法加载主类 的解决 v4 qa15.doc
  10. atitit..主流 浏览器 js 引擎 内核 市场份额 attialx总结vOa9