2011-03-23 46 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

相關問題