2012-04-06 142 views
0

我有兩個網站,一個是用asp.net webforms編寫的,另一個是用asp.net mvc 2編寫的。 我在webforms中有一個頁面, jQuery Load從兩個項目中獲取數據。在asp.net web表單頁面使用jQuery從asp.net調用asp.net mvc webforms

代碼:

$("#divFeedsPorTagMVC").load('http://localhost:50001/InfoMVC/?tag=java', function(){}); 

$("#divFeedsPorTagWebForms").load('http://localhost:50000/InfoWebForms.aspx?tag=java', function() {}}); 

的div在aspx頁面:

<div id="divFeedsPorTagWebForms" ></div> 
<div id="divFeedsPorTagMVC" ></div> 

jQuery的調用的WebForms運作良好,並填補了 「divFeedsPorTagWebForms」 與HTML我需要。
對MVC2的jQuery調用進入InfoMVCController(調試模式)的Index函數,顯示標籤參數傳遞良好,但不會填充「divFeedsPorTagMVC」div與它支持返回的HTML。

有什麼建議嗎?
謝謝。

編輯 控制器:

public class InfoMVCController : Controller 
    { 
     private ServicioSORSS.ServicioSORSSClient _srvSORSS = new ServicioSORSSClient(); 

     // 
     // GET: /InfoWebForms/ 

     public ActionResult Index(string tag) 
     { 
      return View(_srvSORSS.ObtenerFeedsPorTag(tag)); 
     } 

    } 

如果我只是複製網址並將其粘貼在Firefox的導航欄它返回我需要的所有數據!

+0

您是否嘗試過使用類似的是HttpFox或小提琴手或者一些其他的工具,看看你會得到什麼迴應? – 2012-04-06 19:47:37

+0

如果你只是在瀏覽器中加載'http:// localhost:50001/InfoMVC /?tag = java',你會得到什麼? – AndrewR 2012-04-06 19:48:11

+0

您可以發佈您正在調用的MVC操作方法的控制器代碼嗎? – mreyeros 2012-04-06 19:49:01

回答

1

您遇到了Same origin policy的問題。您的瀏覽器不允許加載,因爲它來自不同的網站。

查看標準$.ajax() function,並使用jsonp作爲dataType。

這將是這樣的:

$.ajax({ 
    type: "GET", 
    url: "http://localhost:50001/InfoMVC/?tag=java", 
    dataType: "jsonp", 
    success: function(data){ 
     $('#divFeedsPorTagMVC').html(data); 
    } 
}); 
+0

必須告訴你,我對此一無所知!你是對的,那是我的問題!我不能使用$ .ajax,因爲我正在做一個關於jquery加載的研究!我最終以這種方式在localhost內部發布每個站點:** http:// localhost/webforms/**和** http:// localhost/mvc/**並且這種方式我可以調用jquery加載而沒有任何問題!謝謝你的幫助。 – euther 2012-04-06 21:32:10