原文地址:http://my.oschina.net/LinBandit/blog/33160

之前一片日志说使用xmlhttprequest获取服务数据时,在IE下能通过而在chrome不能通过的问题,今天终于有了一个答案,这就是所谓的跨域问题,什么是跨域呢?我还说不清楚,我说说比较不规范但是通俗的说说法吧,比如你使用chrome打开一个本地的html页面,那么我认为现在你的机器就是一个站点,这个html就是运行在这个站点上,如果你要在这个html页面中通过xmlhttprequest获取百度的页面源码信息,就有点跨域的意思,这和你直接在地址栏上输入www.baidu.com又不一样,因为那样的话,你当前的站点就是百度了,如果百度也在他的主页上通过xmlhttprequest获取google的页面信息,那样应该也算是跨域了吧,但是这个跨域问题在服务器上是不存在的,你在服务器上使用urlHttpConnection连接其他站点是允许的。

可以想象,你连接到你自己的服务器,打开一个页面,如果这个页面要获取google的数据,那么这个页面可以向服务器发出请求(这个页面和这个服务器是同一个域,我通俗的理解,所以这个请求没问题),服务器根据请求向google获取数据(这个是允许的),然后服务器再将获取到的数据反馈回页面,这样页面就获取到google的数据了。

具体代码怎么写就不在话下啦!

所以,上一篇遇到的问题就是这样子,最后我是通过服务器来解决这个问题,但至于为什么IE8可以允许我跨域访问我就不清楚了!

评论3

  •  
    1楼:曹忠 发表于 2012-08-31 10:09 回复此评论
    能具体说下如何做服务器设置吗?我也遇到这个问题呢
    谢谢!
     
  •  
    2楼:土匪强 发表于 2012-08-31 22:07 回复此评论

    引用来自“曹忠”的评论

    能具体说下如何做服务器设置吗?我也遇到这个问题呢
    谢谢!

    这个没有什么设置的,就是逻辑上的转变,比如说你打开了一个a.com,想要在a.com/index.html中使用js直接向域名为b.com的服务器请求数据是行不通的,但是,用服务器端向b.com请求数据是没问题的,所以,可以在a.com/index.html中用
    js向a.com发出请求,让服务器去请求b.com的数据,然后通过a.com服务器反馈给前端,具体就看看servlet 或是 iis之类的知识咯

     
  •  
    3楼:曹忠 发表于 2012-09-04 10:23 回复此评论
    谢谢您的回复!
     
     

使用xmlHttprequest有感的更多相关文章

  1. JavaScript权威设计--跨域,XMLHttpRequest(简要学习笔记十九)

    1.跨域指的是什么? URL 说明 是否允许通信 http://www.a.com/a.jshttp://www.a.com/b.js 同一域名下 允许 http://www.a.com/lab/a. ...

  2. AJAX的核心XMLHttpRequest对象

    为了实现异步通讯,提高用户体验度,而将很多旧知识(XML,DOM,JavaScript,HTML,jQuery,Css...)重新融合程一个新的知识框架.而XMLHttpRequest对象则是其中的重 ...

  3. XMLHTTPRequest对象的创建与浏览器的兼容问题

    MLHttpRequest 对象是AJAX功能的核心,要开发AJAX程序必须从了解XMLHttpRequest 对象开始. 了解XMLHttpRequest 对象就先从创建XMLHttpRequest ...

  4. 部分安卓手机微信浏览器中使用XMLHttpRequest 2上传图片显示字节数为0的解决办法

    前端JS中使用XMLHttpRequest 2上传图片到服务器,PC端和大部分手机上都正常,但在少部分安卓手机上上传失败,服务器上查看图片,显示字节数为0.下面是上传图片的核心代码: HTML < ...

  5. Ajax 与 XmlHttpRequest

    AJAX描述了确保Web应用在Web服务器请求新数据的情况下也能(几乎)实时反应的一种方法.具体地说,AJAX只是一些建立已久的技术的相互作用,从HTML.XHTML和HTTP,到JavaScript ...

  6. js中XMLHttpRequest对象实现GET、POST异步传输

    js中XMLHttpRequest对象实现GET.POST异步传输 /* * 统一XHR接口 */ function createXHR() { // IE7+,Firefox, Opera, Chr ...

  7. AJAX初探,XMLHttpRequest介绍

    AJAX初探,XMLHttpRequest介绍 AJAX      AJAX = Asynchronous JavaScript and XML. 异步的JavaScript和XML.      AJ ...

  8. 大熊君学习html5系列之------XHR2(XMLHttpRequest Level 2)

    一,开篇分析 Hi,大家好!大熊君又和大家见面了,(*^__^*) 嘻嘻……,这系列文章主要是学习Html5相关的知识点,以学习API知识点为入口,由浅入深的引入实例, 让大家一步一步的体会" ...

  9. 手动封装js原生XMLHttprequest异步请求

    Code Object.extend =function(targetObj,fnJson){ //扩展方法,类似于jQuery的$.extend,可以扩展类的方法,也可以合并对象 for(var f ...

随机推荐

  1. 多重继承,虚继承,MI继承中虚继承中构造函数的调用情况

    先来测试一些普通的多重继承.其实这个是显而易见的. 测试代码: //测试多重继承中派生类的构造函数的调用顺序何时调用 //Fedora20 gcc version=4.8.2 #include < ...

  2. DevExpress v18.1新版亮点——WinForms篇(八)

    用户界面套包DevExpress v18.1日前终于正式发布,本站将以连载的形式为大家介绍各版本新增内容.本文将介绍了DevExpress WinForms v18.1 的新功能,快来下载试用新版本! ...

  3. 【DevExpress v17.2新功能预告】DevExtreme TreeList

    在即将到来的v17.2中,您可以查看到DevExtremeHTML5 TreeList小部件的这些新功能. 1. 递归选择模式 TreeList将包括一个新的递归选择模式,您只需一次点击即可选择或取消 ...

  4. memcache原理及环境搭建、测试

    一.原理       Memcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像.视频.文件以及数据库检索的结果等.简单 ...

  5. Flume-NG源码阅读之Interceptor(原创)

    有的时候希望通过Flume将读取的文件再细分存储,比如讲source的数据按照业务类型分开存储,具体一点比如类似:将source中web.wap.media等的内容分开存储:比如丢弃或修改一些数据.这 ...

  6. CodeForces - 1093G:Multidimensional Queries (线段树求K维最远点距离)

    题意:给定N个K维的点,Q次操作,或者修改点的坐标:或者问[L,R]这些点中最远的点. 思路:因为最后一定可以表示维+/-(x1-x2)+/-(y1-y2)+/-(z1-z2)..... 所以我们可以 ...

  7. HDU 1010:Tempter of the Bone(DFS+奇偶剪枝+回溯)

    Tempter of the Bone Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Othe ...

  8. 将string str中的str转换成字符数组

    #include <iostream> #include <map> #include <string.h> using namespace std; int ma ...

  9. dockercompose up build fail

    docker https://auth.docker.io/token dial tcp lookup auth.docker.io i/o timeo Error response from dae ...

  10. 1920*1080分辨率和1080p,1080i的关系

    1080i和1080p是由美国电影电视工程师协会确定的高清标准格式,其中1080p被称为目前数字电视的顶级显示格式,这种格式的电视在逐行扫描下能够达到1920×1080的分辨率.受限制于存储介质(一部 ...