js跨域和ajax 跨域问题的实现思路

2013-12-24  来源:本站原创  分类:javascript技巧  人气:1 

大家都知道js是不能跨域的,但我们有时候就要这么用,怎么办呢?办法总是有的.

js 要跨域的话,可以用:
<script src="别的网站的js地址(这里的内空可以是动态生成的,如:aaa.jsp、bbb.aspx)都可以。"></script>这样是可以从别的网站里面读取出数据的。
关键是看你灵不灵活,会不会用了。
ajax要跨域的话,可以用服务器去别的网站取内容,如asp.net的:

public string GetUrlData(string url)
{
System.Net.HttpWebRequest webRequest = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(url);
System.Net.WebResponse webResponse = webRequest.GetResponse();
System.IO.Stream iStream = webResponse.GetResponseStream();
System.IO.StreamReader sr = new System.IO.StreamReader(iStream, System.Text.Encoding.Default);
string str = sr.ReadToEnd();
sr.Close();
iStream.Close();
webResponse.Close();
return str;
}

这个方法已经写好了,你只要传入网站的url地址,就可以得到你要的ajax返回值。
这样就将别的网站的ajax请求,写到了自已的服务器里,然后你再用ajax去请求自已写好的那个
aspx地址就可以了。
如果是java,也是同样的道理,如:

复制代码 代码如下:

URL url = new URL("http://www.jb51.net/index.html");
FilterInputStream f=(FilterInputStream)url.openStream();

当然asp,php的原理也是一样的,就是利用小偷函数实现获取内容。

相关文章
  • js跨域和ajax 跨域问题的实现思路 2013-12-24

    大家都知道js是不能跨域的,但我们有时候就要这么用,怎么办呢?办法总是有的. js 要跨域的话,可以用: <script src="别的网站的js地址(这里的内空可以是动态生成的,如:aaa.jsp.bbb.aspx)都可以."></script>这样是可以从别的网站里面读取出数据的. 关键是看你灵不灵活,会不会用了. ajax要跨域的话,可以用服务器去别的网站取内容,如asp.net的: public string GetUrlData(string url)

  • js 跨域和ajax 跨域问题小结 2014-02-03

    大家都知道js是不能跨域的,但我们有时候就要这么用,怎么办呢?办法总是有的. js 要跨域的话,可以用: <script src="别的网站的js地址(这里的内空可以是动态生成的,如:aaa.jsp.bbb.aspx)都可以."></script>这样是可以从别的网站里面读取出数据的. 关键是看你灵不灵活,会不会用了. ajax要跨域的话,可以用服务器去别的网站取内容,如asp.net的: public string GetUrlData(string url)

  • ajax跨域请求js拒绝访问的解决方法 2015-04-11

    这篇文章主要介绍了ajax跨域请求js拒绝访问的解决方法,需要的朋友可以参考下 求解决办法 ajax{ url :"http://xxxx/app", type:"POST"; dataType:"json", } 不能用jsonp 因为jsonp发送数据 type 为 get type 必须为post url 不能加参 (例:http://xxxx/app?callback=aaa) 返回数据位json格式.求方法

  • AJAX跨域请求json数据的实现方法 2013-10-10

    这篇文章介绍了AJAX跨域请求json数据的实现方法,有需要的朋友可以参考一下 我们都知道,AJAX的一大限制是不允许跨域请求. 不过通过使用JSONP来实现.JSONP是一种通过脚本标记注入的方式,它是可以引用跨域URL的js脚本,不过需要提供一个回调函数(必须在您自己的页面上),因此,你可以自己处理结果. 让我们看看JSONP的是怎么在jQuery,MooTools的,Dojo Toolkit中实现的. jQuery的JSONP jQuery.getJSON方法: Js代码 jQuery.g

  • 利用iframe实现ajax跨域通信的实现原理(图解) 2013-11-07

    一般情况下都是用在同一域下的ajax请求:但是如果请求是发生在不同的域下,请求就无法执行,并且会抛出异常提示不允许跨域请求,接下来介绍利用iframe实现ajax跨域通信感兴趣的朋友可以了解下,或许对你学习ajax跨域有所帮助 在漫长的前端开发旅途上,无可避免的会接触到ajax,而且一般情况下都是用在同一域下的ajax请求:但是如果请求是发生在不同的域下,请求就无法执行,并且会抛出异常提示不允许跨域请求,目前我没有找到明确的资料说明这是为什么,我觉得应该是出于安全性的考虑吧.纵然如此,要实现跨域

  • JSONP跨域GET请求解决Ajax跨域访问问题 2013-11-08

    本文主要是介绍了JSONP跨域是如何实现的,并探讨下JSONP跨域的原理.以及采用JSONP跨域GET请求解决Ajax跨域访问问题,需要的朋友可以参考下 前几天,工作上有一新需求,需要前端web页面异步调用后台的Webservice方法返回信息.实现方法有多种,本例采用jQuery+Ajax,完成后,在本地调试了一切ok,但是部署到服务器上以后就出现问题了,后台服务调用没有响应,怎么回事?代码没怎么改动,唯一修改的地方就是jQuery的ajax方法中的url地址.难道是这里的问题,经过检查和调试

  • jquery ajax跨域解决方法(json方式) 2014-01-20

    本篇文章只要是对jquery ajax跨域解决方法(json方式)进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助 最近公司开发的项目中很多地方需要跨域ajax请求,比如几个子域名下 http://a.****.com/index123.aspx, http://b.****.com/index2.aspx 都要请求用户json信息,然后再对数据进行处理,起初我和同事们试了很多种方法,使用$.ajax() 无论是get或post方法都会引起uri deny的错误.一番GG之后发现了解决方

  • JQuery Ajax 跨域访问的解决方案 2014-07-25

    我们知道ajax本身实际上是通过XMLHttpRequest对象来异步进行数据的交互,而浏览器出于安全考虑,不允许js代码进行跨域操作,所以js跨域操作会被拒绝. 具体情况有: 一.本域和子域的相互访问: http://www.aa.com/和book.aa.com 二.本域和其他域的相互访问: http://www.aa.com/和http://www.bb.com/ 用 iframe 三.本域和其他域的相互访问: http://www.aa.com/和http://www.bb.com/ 用

  • 用iframe设置代理解决ajax跨域请求问题 2014-08-30

    面对ajax跨域请求的问题,想用代理的方式来解决这个跨域问题.在服务器端创建一个静态的代理页面,在客户端用iframe调用这个代理 今天在项目中需要做远程数据加载并渲染页面,直到开发阶段才意识到ajax跨域请求的问题.于是想用代理的方式来解决这个跨域问题. 什么是跨域? 简单的来说,出于安全方面的考虑,页面中的JavaScript无法访问其他服务器上的数据,即"同源策略".而跨域就是通过某些手段来绕过同源策略限制,实现不同服务器之间通信的效果. 方案:在服务器端创建一个静态的代理页面,

  • IE9版本以下ajax 跨域问题可行解决方法 2014-10-26

    ajax跨域请求数据在谷歌火狐我本地IE11都是没问题的,IE9版本以下ajax 跨域却有问题,解决方法是对Internet 安全选项进行自定义级别 ajax跨域请求数据在谷歌火狐我本地IE11都是没问题的. 让测试就发现问题了,IE8下请求不到数据,然后我查看一下自己写的js看有没有不兼容问题,可是都没有啊,为什么就请求不到呢. 我把ajax的error打印出来提示no transport,网上找了资料在js中第一行加这个就可以了jQuery.support.cors = true; 好了这个

  • Ajax跨域查询完美解决通过$.getJSON()实现 2015-03-27

    浏览器安全上做了限制,禁止ajax跨域获得数据,可以通过jquery提供的$.getJSON()可以跨域获得JSON格式的数据,具体的实现如下,感兴趣的朋友可以参考下哈,希望对大家有所帮助 原因:浏览器安全上做了限制,禁止ajax跨域获得数据. 解决方法:通过jquery提供的$.getJSON()可以跨域获得JSON格式的数据.优点:兼容性强. Java后台代码: protected void doPost(HttpServletRequest req, HttpServletResponse

  • AJAXCDR:利用 Flash 完美解决 JavaScript 和 AJAX 跨域 HTTP POST/GET 表单请 2013-11-23

    本文出自:http://blog.s135.com/ajaxcdr/ 最近的一个项目中,需要通过 JavaScript 提交表单数据到另一个域名下的PHP接口(因为数据较大,需要HTTP POST方式提交),并获取PHP接口的返回值,在页面无刷新.无跳转的情况下,更新div标签内的内容. 浏览器出于安全考虑,是不允许JavaScript代码进行跨域操作.JavaScript 和 AJAX 跨域访问分为两大类,一是本域和子域的交互,二是本域和其他域的交互. 一.本域和子域的交互:www.s135.

  • ajax 跨域解决问题 2014-12-25

    ajax跨域问题,这里使用 jsonp 来完成,该方式有一个弊端,在提交POST请求的时候,它依然会使用GET的方式传递参数,这点目前还没有解决. 首先 得了解JSONP这种类型返回的值的格式,(callback(数据)) 这里并不像普通的HTTP请求那样,只要服务端返回数据就可以直接将该数据拿来使用,它的区别在于 JSONP 会将数据放到一个回调方法里面. 其次 我们来完成服务端的数据处理 //这里使用PHP语言来处理服务端的数据 /** * 获取数据 * 2014-12-25 * comfi

  • 服务端配置实现AJAX跨域请求 2013-12-01

    这篇文章主要介绍了服务端配置实现AJAX跨域请求的相关资料,需要的朋友可以参考下 一直以为AJAX跨域是无法逾越的鸿沟,最近发现原来在服务端可以通过发送header信息来允许AJAX跨域请求. PHP代码示例: header('Access-Control-Allow-Origin:*'); header('Access-Control-Allow-Headers:X-Requested-With'); 经过测试,webkit内核的浏览器成功实现跨域请求. IE一如既往的不支持~看来只能在移动端

  • 解决ajax跨域请求数据cookie丢失问题 2014-02-07

    本文主要是从前端jquery和服务端php为例,分别使用实例解决ajax跨域请求数据cookie丢失问题,推荐给有相同需求的小伙伴们. 前端: 以jquery为例: 需要加入 xhrFields: { withCredentials: true }, crossDomain: true, $.ajax({ type: postType, url: url, data: postData || '', xhrFields: { withCredentials: true }, crossDomai

  • jquery的ajax跨域请求原理和示例 2014-02-12

    这篇文章主要介绍了jquery的ajax跨域请求原理和示例,需要的朋友可以参考下 今天在项目中需要做远程数据加载并渲染页面,直到开发阶段才意识到ajax跨域请求的问题,隐约记得Jquery有提过一个ajax跨域请求的解决方式,于是即刻翻出Jquery的API出来研究,发 JQuery对于Ajax的跨域请求有两类解决方案,不过都是只支持get方式.分别是JQuery的 jquery.ajax jsonp格式和jquery.getScript方式. 什么是jsonp格式呢?API原文:如果获取的数据

  • PHP中运用jQuery的Ajax跨域调用实现代码 2014-04-21

    PHP中运用jQuery的Ajax跨域调用实现代码,需要的朋友可以参考下 可以在页面定义一个调用方法,如下: function getData(){ $.getJSON("http://123.123.123.123/?callback=?", { "m":"data",// 指定php的文件名字 "act":"getdata",// 指定php文件中的方法 "name":"问

  • JQuery的Ajax跨域请求原理概述及实例 2014-06-24

    ajax跨域请求的问题,JQuery对于Ajax的跨域请求有两类解决方案,不过都是只支持get方式,接下来为大家详细介绍下客户端JQuery.ajax的调用代码 今天在项目中需要做远程数据加载并渲染页面,直到开发阶段才意识到ajax跨域请求的问题,隐约记得Jquery有提过一个ajax跨域请求的解决方式,于是即刻翻出Jquery的API出来研究,发 JQuery对于Ajax的跨域请求有两类解决方案,不过都是只支持get方式.分别是JQuery的 jquery.ajax jsonp格式和jquer

  • Ajax跨域代理访问网络资源的实现代码 2014-07-16

    解决Ajax跨域访问报"没有权限"的错误.需要的朋友可以参考下. smart.asp <script language="jscript" runat="server"> /* 在VBS里面的调用方法 dim myhttp set myhttp = SmartHttp(url,method,data); //三个参数均可选 属性: url:String,请求的URL地址 method:String,请求的方法 data:String,

  • 完美解决AJAX跨域问题 2015-02-10

    我看到过很多人不愿意去正视ajax所存在的技术瓶颈,其实AJAX更应该是Ajax而不是AJAX,突出第一个A是想强调其实AJAX发扬的是一种异步传输的方法,而不是具体到底使用了哪种技术 从AJAX诞生那天起,XMLHttprequest对象不能跨域请求的问题就一直存在.这似乎是一个很经典的问题了.是由于javascript的同源策略(这里不作深入探讨)所导致. 解决的办法,大概有如下几种: 1. 使用中间层过渡的方式(可以理解为"代理"): 中间过渡,很明显,就是在AJAX与不同域的服