2012-04-06 139 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