如何在asp.net中通过javascript从其他网站获取内容?

时间:2011-03-23 15:15:33

标签: javascript jquery ajax asp.net-ajax

我正在asp.net中创建一个Web应用程序,我想在其中为用户提供一个JavaScript代码,用户可以通过该代码从我的网站获取内容到他/她自己的网站。

我在我的网站上使用了一个通用处理程序来处理用户请求。

所以,现在我怎么能这样做,我尝试过使用jQuery .. jQuery只能处理来自当前服务器的请求,而不能处理来自其他服务器的请求(如果我没错)

www.otherwebsite.com

上的

代码

<script type="text/javascript" src="jquery.x.x.js">  </script> 
<script type="text/javascript"> 
    $('#result').load('www.myWebSite.com/getData.ashx');
</script>  
<body>  
    <div id="result">  </div>  
</body> 

以上代码无效.. :(

有没有其他方法可以将我的网站内容发送到其他网站?

任何帮助都会非常感激。 -thanx

3 个答案:

答案 0 :(得分:3)

您的上述示例违反了Same Origin Policy。您可以通过服务器端的代理进行调用来避免这种情况。

答案 1 :(得分:1)

答案是使用JSONP。它绕过同域策略。

http://en.wikipedia.org/wiki/JSONP

答案 2 :(得分:1)

您可以在自己的服务器上拥有完整的javascript小部件代码,您的网站所有者朋友可以通过简单的方式粘贴到他们的网站

<script type="text/javascript" src="http://example.com/myjavacript.ashx"></script>

然后,这个小部件将使用document.write(“Some HTML”)创建表单,输入框,要显示的文本信息等,以执行查询;

但是,网站所有者可能更愿意从您的网站插入包含小部件的iframe。这更值得信赖;否则,您可以随时修改您的JavaScript以使其从受保护的页面中获取用户信息。除非你需要在他们的页面上修改HTML,而不是插入一个简单的小部件,否则iframe方法更可取,因为它可以更好地保护用户的信息并创建一个更加信任的环境。

[编辑:请注意以下HurnsMobile关于同源政策的答案 - 这很重要。 ]