【问题标题】:calling asp.net mvc with jQuery Load from asp.net webforms使用 jQuery Load 从 asp.net webforms 调用 asp.net mvc
【发布时间】:2012-04-06 19:43:15
【问题描述】:

我有两个站点,一个是用 asp.net webforms 编写的,另一个是用 asp.net mvc 2 编写的。 我在 webforms 中有一个页面,它使用 jQuery Load 从两个项目中获取数据。

来自asp.net webforms页面的代码:

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

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

aspx 页面中的 Divs:

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

对 WebForms 的 jQuery 调用运行良好,并用我需要的 HTML 填充“divFeedsPorTagWebForms”。
对 MVC2 的 jQuery 调用进入 InfoMVCController(调试模式)的 Index 函数,显示标签参数被很好地传递,但没有用它应该返回的 HTML 填充“divFeedsPorTagMVC”div。

有什么建议吗?
谢谢。

编辑 控制器:

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

        //
        // GET: /InfoWebForms/

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

    }  

如果我只是复制 URL 并将其粘贴到 Firefox 的导航栏中,它确实会返回我需要的所有数据!

【问题讨论】:

  • 您是否尝试过使用 HttpFox 或 Fiddler 之类的工具或其他工具来查看您得到的响应?
  • 在浏览器中加载http://localhost:50001/InfoMVC/?tag=java会得到什么?
  • 您能否发布您正在调用的 MVC 操作方法的控制器代码?
  • 更新了我的问题来回答你所有的问题!
  • 我认为问题在于 webforms 应用程序不知道如何处理 ActionResult,您可能需要将结果作为字符串返回。

标签: jquery asp.net-mvc-2 webforms jquery-load


【解决方案1】:

您遇到了Same origin policy 的问题。您的浏览器不允许加载,因为它来自不同的站点。

查看标准$.ajax() function,并使用jsonp 作为数据类型。

会是这样的:

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

【讨论】:

  • 必须告诉你我对此一无所知!你是对的,那是我的问题!我不能使用 $.ajax 因为我正在研究 jquery 负载!我最终以这种方式在 localhost 中发布了每个站点:localhost/webformslocalhost/mvc 这样我就可以毫无问题地调用 jquery 加载!感谢您的帮助。
猜你喜欢
  • 2011-10-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-18
  • 2010-10-14
  • 1970-01-01
  • 2013-01-01
  • 1970-01-01
相关资源
最近更新 更多