2011-03-23 49 views
0

我在asp.net创建了一个web应用程序,我想给用户一个JavaScript代码,通过它,用户可以从我的网站上获取内容到他/她自己的网站。如何通过javascript在asp.net中从另一个网站获取内容?

我已经使用一个通用处理程序来处理我的网站中的用户请求。

所以,现在我该怎么办这个问题,我已经尝试使用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

+1

这个问题有帮助吗? http://stackoverflow.com/questions/727183/can-jquery-ajax-call-external-webservice。 您可能还需要研究一下使用crossdomain.xml文件,它是Silverlight所需的,我不确定JavaScript调用。 – Aligned 2011-03-23 15:20:19

+1

http://api.jquery.com/jQuery.getJSON/#jsonp是你想看的 – mplungjan 2011-03-23 15:36:06

回答

1

你可以简单地拥有自己的服务器上的完整的JavaScript控件的代码,您的网站所有者的朋友可以贴到他们的网站上用一个简单的

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

这个小工具,然后将创造形式,输入框,要显示的文本信息等,以便执行查询,方法是使用document.write(“Some HTML”);

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

+0

嗨,詹姆斯。这正是我后来解决我的问题所做的。 – 2014-05-29 08:27:36

+0

但是,我的计算器帐户出现问题,无法及时回复您。并创建新的帐户(现在这两个帐户都与Stackoverflow团队的帮助合并)。 – 2014-05-29 08:28:34

2

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

+0

谨慎解释downvote?这是100%的事实。 – HurnsMobile 2011-03-23 16:14:05

+0

事实上,这是正确的,upvoted。 – Peeter 2011-03-23 16:16:47

+0

嗨,对于迟到的回复感到抱歉。并感谢您的宝贵答案,澄清了我的怀疑:) – 2014-05-29 08:24:41

1

答案是使用JSONP。它获得了相同的域名政策。

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

+0

嗨,谢谢你的答案。 3年前,当我遇到这个问题时,我使用了James提供的答案(因为我没有想到要学习JSONP,因为没有时间来完成我的项目)。感谢JSONP。我将探索它在未来使用:) – 2014-05-29 08:26:07

+0

但是,我的计算器帐户有问题,因此无法及时回复您。并创建新的帐户(现在这两个帐户都与Stackoverflow团队的帮助合并)。非常感谢 – 2014-05-29 08:29:09

相关问题