热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

AJAX跨域请求方法(V客学院知识分享)

js跨域JavaScript出于安全方面的考虑,不允许跨域调用其他页面的对象。什么是跨域呢?简单的理解就是因为Javascript同源策略的限制

 

 js 跨域

Javascript出于安全方面的考虑,不允许跨域调用其他页面的对象。

 

什么是跨域呢?
 

简单的理解就是因为Javascript同源策略的限制,a.com域名下的js无法操作b.com或者c.a.com域名下的对象,协议(http/https)、域名、端口都相同则为同源,反之如果这个三个若有一个不相同则非同源,即跨域了。

如:www.vikeyit.com/index.html 调用www.vikeyit.com/service.php (非跨域)

www.vikeyit.com/index.html 调用www.vikeyit.net/service.php (跨域)

www.vikeyit.com/index.html 调用bbs.vikeyit.com/service.php (跨域)

www.vikeyit.com/index.html 调用www.vikeyit.com:81/service.php (跨域)

www.vikeyit.com/index.html 调用https://www.vikeyit.com/service.php (跨域)

 

处理跨域方法一 — 代理

通过在同名的web服务器创建一个代理:

vikeyit服务器(域名:www.vikeyit.com)

ancto服务器(域名:www.ancto.net)

比如在vikeyit的web服务器的后台

(www.vikeyit.com/proxy-anctoservice.php)来调用ancto服务器

(www.ancto.net/service.php)的服务,然后再把响应结果返回给前端,

这样前端调用vikeyit同域名的服务就和ancto的服务效果相同了

 

处理跨域方法二 — JSONP
 

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

www.aseoe.com页面中:

www.ancto.net页面中:

jsonp({'name':Aseoe,'job':'前端'});

 JSONP不支持POST请求

 

处理跨域方法三 — XHR2
 

HTML5提供的XMLHttpRequest Level2 已经实现了跨域访问以及其他的一些新功能

IE10以下的版本都不支持

在服务器做一些小小的改造即可:

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

header('Access-Control-Allow-Methods:POST,GET');

这样前端直接访问请求可以解决跨域问题

 

 

 

 

(PHP开发、web前端、UI设计、VR开发专业培训机构--VIT学院版权所有,转载请注明出处,谢谢合作!)

 

转:https://www.cnblogs.com/wrx3166/p/8677209.html



推荐阅读
  • 在PHP中如何正确调用JavaScript变量及定义PHP变量的方法详解 ... [详细]
  • 网站访问全流程解析
    本文详细介绍了从用户在浏览器中输入一个域名(如www.yy.com)到页面完全展示的整个过程,包括DNS解析、TCP连接、请求响应等多个步骤。 ... [详细]
  • Cookie学习小结
    Cookie学习小结 ... [详细]
  • 本文详细介绍了Java代码分层的基本概念和常见分层模式,特别是MVC模式。同时探讨了不同项目需求下的分层策略,帮助读者更好地理解和应用Java分层思想。 ... [详细]
  • 本文介绍了如何利用HTTP隧道技术在受限网络环境中绕过IDS和防火墙等安全设备,实现RDP端口的暴力破解攻击。文章详细描述了部署过程、攻击实施及流量分析,旨在提升网络安全意识。 ... [详细]
  • php更新数据库字段的函数是,php更新数据库字段的函数是 ... [详细]
  • 本文详细介绍了 Java 网站开发的相关资源和步骤,包括常用网站、开发环境和框架选择。 ... [详细]
  • 周排行与月排行榜开发总结
    本文详细介绍了如何在PHP中实现周排行和月排行榜的开发,包括数据库设计、数据记录和查询方法。涉及的知识点包括MySQL的GROUP BY、WEEK和MONTH函数。 ... [详细]
  • 小程序的授权和登陆
    小程序的授权和登陆 ... [详细]
  • 本文介绍了 Go 语言中的高性能、可扩展、轻量级 Web 框架 Echo。Echo 框架简单易用,仅需几行代码即可启动一个高性能 HTTP 服务。 ... [详细]
  • 本文详细解析了ASP.NET 2.0中的Callback机制,不仅介绍了基本的使用方法,还深入探讨了其背后的实现原理。通过对比Atlas框架,帮助读者更好地理解和应用这一机制。 ... [详细]
  • 为什么多数程序员难以成为架构师?
    探讨80%的程序员为何难以晋升为架构师,涉及技术深度、经验积累和综合能力等方面。本文将详细解析Tomcat的配置和服务组件,帮助读者理解其内部机制。 ... [详细]
  • Spring – Bean Life Cycle
    Spring – Bean Life Cycle ... [详细]
  • 探索Web 2.0新概念:Widget
    尽管你可能尚未注意到Widget,但正如几年前对RSS的陌生一样,这一概念正逐渐走入大众视野。据美国某权威杂志预测,2007年将是Widget年。本文将详细介绍Widget的定义、功能及其未来发展趋势。 ... [详细]
  • 解决Bootstrap DataTable Ajax请求重复问题
    在最近的一个项目中,我们使用了JQuery DataTable进行数据展示,虽然使用起来非常方便,但在测试过程中发现了一个问题:当查询条件改变时,有时查询结果的数据不正确。通过FireBug调试发现,点击搜索按钮时,会发送两次Ajax请求,一次是原条件的请求,一次是新条件的请求。 ... [详细]
author-avatar
jysghyb
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有