zoukankan      html  css  js  c++  java
  • Ajax的跨域问题分析

    一、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更多的使用方法,我会再和大家探讨,希望大家继续关注的我的博客。

  • 相关阅读:
    剑指Offer_58_对称的二叉树
    剑指Offer_57_二叉树的下一个结点
    [Vue安装教程]十分钟学会vue 安装
    Flex布局做出自适应页面--语法和案例
    对JS中事件委托的理解
    JS代码中!!的用法,以及代码性能对比
    PHP 深度理解preg_quote()函数
    display的block、none、inline属性及解释
    div背景图片或颜色不显示的解决办法
    MYSQL优化_MYSQL分区技术[转载]
  • 原文地址:https://www.cnblogs.com/lingdublog/p/6483322.html
Copyright © 2011-2022 走看看