Loading...

java .net

javascript 跨域访问 没有权限的问题

      公司买的报表工具,为了节省成本,将报表服务单独部署了一个应用,我们的业务系统调用报表应用展现报表,开发还算顺利,现在到了用户试用了,问题来了

     其中有个功能叫报表反查,页面中包含了四个fream,用户在其中三个fream中设置查询条件,当点击查询按钮,调用javascript得到每个fream中的参数,并将参数赋值到第四个fream中的form中的隐藏属性中,然后提交这个form(这时的form是在业务系统中的jsp)调用报表服务器的action,返回报表(此时的是报表应用返回的页面,不再是业务系统中的jsp了)。

     这涉及到了两个应用,再次点击查询按钮,Ie就会报“没有权限”错误。

    在网上搜,一个结论,浏览器不允许javaScript跨域访问,据说为了安全,那咋办,得用啊?!

    搜啊搜,找到一个文章专门讨论这事儿的,作者提出了三种解决方案:

    1、在涉及到跨域访问的页面中加入

<script language="JavaScript">
<!--
document.domain = "mycompany.com"; //指定 document 所属的域
-->
</script>

这样可以蒙混过浏览器,但是这种方法必须满足一个条件,就是两个应用必须属于同一个父域,也就是,比如,abc.def.com父域就该是def.com,如果document.domain = "域名";设置的不是其父域,就会报“参数无效”的错误。

      而问题是我们的报表服务器和业务系统服务器不在一个父域下,这条路是行不通了

     召集了公司几个同事讨论,最后得出两个方案,一是改为弹出窗口,而是写webservice

      考虑到工作量,修改要小,选择了弹出窗口。

2、是IE独有了,就是弹出showmodaldialog,这种方法因为IE升级又行不通了。

3、就是通过服务器处理了。

总结,现在看来,解决这个问题就是1和3两种方案,第一种是在客户端处理,局限就是两个应用必须在同一个父域下,还有就是好像不是所有的浏览器支持设置domain。第二种就是通过服务器处理,这种方法好像势必要刷新整个窗口,像我这种情况,一个页面中有几个fream的情况,像保留用户设置的参数,还么有想到好的解决方法。

还想到一条路就是用ajax,这倒是实现了无刷新,但是我们的报表页面展现是一个自定义的jsp标签,还是要服务器展现,这条路没走下去。

参考文章

posted on 2008-08-26 22:06 阅读(5561) 评论(1)  编辑  收藏

评论

# re: javascript 跨域访问 没有权限的问题 2009-12-04 11:27 cjp

我遇到了类似的情况,我的原因是缺少引用:
using System.Web.Script.Services;
然后:在定义的的【webservice】的类上缺少属性【[ScriptService]】。
我的类如下:
//---------------------------------------------------------------
//...默认引用
using System.Web.Script.Services;


/// <summary>
/// WS_DataValidate 的摘要说明,用于数据验证
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[ScriptService]
public class WS_DataValidate : System.Web.Services.WebService
{
//.....您要添加的内容
}
//------------------------------------------------------------  回复  更多评论   


只有注册用户登录后才能发表评论。


网站导航:
 

公告

希望有一天

我能用鼠标双击我的钱包

然后选中一张100元

按住“ctrl+c”

接着不停的“ctrl+v”

嘻嘻~~~笑醒~~~



导航

<2008年8月>
272829303112
3456789
10111213141516
17181920212223
24252627282930
31123456

统计

常用链接

留言簿(6)

随笔分类(102)

随笔档案(398)

文章分类

文章档案(10)

有趣网络

搜索

积分与排名

最新评论

阅读排行榜

评论排行榜