一、Ajax的跨域问题

Ajax是利用javascript内置XMLHttpRequest对象来进行传输的,所以它依赖于XMLHttpRequest对象,而XMLHttpRequest对象却有很多的限制,其中最重要的就是跨域问题。

因为web浏览器和在网络连接时,会限制阻止脚本或者应用程序连接任何其他的不是来自本域的web服务,说的明白点就是不能跨域。

二、Ajax的跨域问题的解决办法

对于Ajax这一个经典的跨域问题,解决的办法有以下几个:

1.通过代理

在你的web服务器上安装一个代理,你可以通过调用自己的web服务代理来代替直接调用其它服务器上的web服务,通过代理发起XMLHttpRequest请求,然后代理传递请求到web服务,并且返回客户端应用程序所需要的数据。

2.使用Apache转请求

使用Apache的mod_rewrite or mod_proxy来从你的服务器上转发到另外的服务器,在你的客户端代码中你只要做请求就可以了,就好象工作在你自己的服务器上,不会有浏览器的限制问题,然后Apache会神奇的为你请求其他服务器。

3.使用<script>标签

因为<script>标签不存在跨域问题,所以我们可以利用<script>标签来引入一个文件,然后处理数据,具体办法就是使用json或者动态<script>标记来替代xml和XMLHttpRequest,这样可以通过直接在<script>标记内发送web服务请求,就可以完全绕过浏览器的安全限制。

随着json数据格式的流行,这种方法被越来越多的使用,也就是大家常常见到的jsonp方法,关于jsonp更多的使用方法,我会再和大家探讨,希望大家继续关注的我的博客。

最新文章

  1. 如何解决Visual Studio调试Debug很卡很慢
  2. 用PHP调用Oracle存储过程方法
  3. android 常见面试题以及答案
  4. javascript中的array对象属性及方法
  5. mongodb聚合内存不足解决方案
  6. 线程同步 Lock接口
  7. 【POJ 3335】 Rotating Scoreboard (多边形的核- - 半平面交应用)
  8. 开源了一个iOS输入控件【原】
  9. 通过Unity依赖注入
  10. linux 目录说明
  11. 使用InternetReadFile时要注意读取完整数据
  12. ubuntu 英文系统下安装中文输入法
  13. Msys+MinGW编译VLC
  14. java中class文件与jar文件
  15. iptables工作常用操作
  16. Java 数据库简单操作类
  17. C# 坐标系
  18. 快速简化Android截屏工作
  19. webvtt字幕转srt字幕的python程序(附改名程序)
  20. odoo 打印单

热门文章

  1. fullpage中大的图片超过一屏怎么在手机端滑动显示?
  2. DAG-背包九解-01背包
  3. 创建支持SSH服务的镜像
  4. iOS——扬声器与听筒的切换
  5. 关于FAT32分区的U盘4GB文件的测试
  6. 一:1.1 python程序与数据储存【进制转换】
  7. 20180929 北京大学 人工智能实践:Tensorflow笔记04
  8. Android 查看设备信息
  9. Rsyslog比较详细的
  10. HDFS 文件系统流程图。PB级文件存储时序图。