【问题标题】:How to get content from another website by javascript in asp.net?如何通过asp.net中的javascript从另一个网站获取内容?
【发布时间】:2011-03-23 15:15:33
【问题描述】:

我正在 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> 

上面的代码不起作用.. :(

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

任何帮助将不胜感激。 -谢谢

【问题讨论】:

标签: javascript jquery ajax asp.net-ajax


【解决方案1】:

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

【讨论】:

  • 嗨,很抱歉回复晚了。并感谢您的宝贵回答澄清了我的疑问:)
【解决方案2】:

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

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

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

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

[ 编辑:请注意下面 HurnsMobile 关于同源政策的回答——这很重要。 ]

【讨论】:

  • 嗨詹姆斯。这正是我后来为解决我的问题所做的。
  • 但是我的stackoverflow账号有问题所以没能及时回复你。并创建了新帐户(现在两个帐户在 Stackoverflow 团队的帮助下合并)。
【解决方案3】:

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

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

【讨论】:

  • 您好,感谢您的回答。 3年前,当我遇到这个问题时,我使用了James给出的答案(因为我没有时间学习JSONP,因为我没有时间完成我的项目)。感谢 JSONP。我会探索它以供将来使用:)
  • 但是我的stackoverflow账号有问题所以没能及时回复你。并创建了新帐户(现在两个帐户在 Stackoverflow 团队的帮助下合并)。非常感谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-06-09
  • 1970-01-01
  • 1970-01-01
  • 2018-10-16
  • 2013-02-23
  • 2015-05-02
  • 1970-01-01
相关资源
最近更新 更多