我们有一个ASP.Net应用程序托管在我们的网络上并暴露给特定的客户端。该客户希望能够将数据从他们自己的服务器导入到我们的应用程序中。数据是通过HTTP请求检索的,并且是CSV格式的。问题是他们不希望将他们的服务器暴露给我们的网络,并且正在请求在客户端进行导入(所有客户端都来自与其服务器相同的网络)。JavaScript中的跨域数据访问
所以,需要做的事情是:
- 他们请求导入页面从我们的服务器
- 页面上的客户端脚本问题得到CSV格式到他们的服务器请求数据
- 数据被发送回我们的应用程序
当两台服务器都在同一个域上时,这不是一个挑战:一个简单的隐藏的iframe或类似的东西可以做到这一点,但在这里我是什么获取是跨域“拒绝访问”错误。他们也拒绝更改数据格式以返回JSON或XML格式的数据。
我尝试和迄今为止学到的是:
- 隐藏的iframe - “拒绝访问”
- XMLHttpRequest的 - 行为取决于浏览器的安全设置:可以工作,可以工作,同时唠叨用户安全警告,或可能不会在所有
- 动态脚本标签工作 - 如果他们能以JSON格式已返回数据
- IE客户端数据绑定会工作 - 同样的“拒绝访问”错误
在放弃之前还有什么我可以尝试的,并且表示如果不将他们的服务器暴露给我们的应用程序,更改他们的数据格式或更改他们的浏览器安全设置,这是不可能的? (顺便说一下,DNS技巧不是一个选项)。
嗨,我不再在那里工作了,我甚至不记得问题的所有细节,但感谢您的好链接! :) – vit 2010-05-05 10:20:15
无论如何,因为这将解决原来的问题,我会接受这个答案。 – vit 2010-07-19 01:48:41