关于JavaScript跨域问题及实时刷新解决方案,javascript


在自己页面显示其他网站上面的数据,需要用Ajax,就涉及到跨域问题,

解决方案:jQuery.support.cors = true; (浏览器支持跨域访问),

实例:
复制代码 代码如下:

//浏览器支持跨域访问

jQuery.support.cors = true;
$.ajax({
url: "http://www.rj99999.com/Price/ListPrice.html",
dataType: 'html',
success: function (data, textStatus) {

//nowPrice为本页面显示数据控件,#price', data为从其他网站取出名为price的元素。
$("#nowPrice").text(jQuery('#price', data).html() + "元/克");
},
error: function (xhr, ajaxOptions, thrownError) {
$("#nowPrice").text("暂时无法显示");
}
});
//实时刷新

//每60000毫秒/1分钟调用togglecountdowntime()方法。

setTimeout("togglecountdowntime()", 60000);

Javascript跨域问题

b里再通过iframe调用与a.html同域的一个html代理页,比如叫c.html
c.html里,可以调用a.html的方法,比如a.html里预设了一个function a(){},用来改变页面元素,则在c里,可以直接top.a()来调用。
当然通过b调用c.html的时候,可以传一些参数过来,这样就可以动态修改a了
 

javascript跨域问题

目前跨域请求没有太好的方法,你需要让别的系统的一个页面所在的那个服务器把你所需要的数据放在一个js文件中(文件由服务器生成),然后在你的页面上使用绝对路径引用这个js文件,这不是好的办法,这样做会使随机验证失去作用,恐怕别人不会愿意的。如果此路不通,你应当考虑从后台是否能抓去你要的数据。
 

评论关闭