从项目外部的普通HTML文件调用MVC4 Web API

时间:2012-06-28 10:36:07

标签: asp.net asp.net-mvc

我试图学习MVC4 Web API。我正在从VS2010本身运行我的项目。

我的项目网址是localhost:31735

从浏览器本身直接调用WebAPI时。它的工作方式类似于localhost:31735 / api / products /

我现在想从项目外的普通HTML文件中调用Webapi。

我试图这样做

 $(document).ready(function () {
           // Send an AJAX request 
            $.getJSON("http://localhost:31735/api/products/",
            function (data) {
            // On success, 'data' contains a list of products. 
               $.each(data, function (key, val) {

                // Format the text to display. 
                var str = val.Name + ': $' + val.Price;

                // Add a list item for the product. 
                $('<li/>', { html: str }).appendTo($('#products'));
            });
        });
    });

但这不起作用。你能帮忙吗?

1 个答案:

答案 0 :(得分:3)

  

我现在想从项目外的普通HTML文件中调用Webapi。

由于same origin policy限制阻止您发送跨域AJAX请求,因此无法执行此操作。有different possible workarounds,其中一个包括使用JSONP而不是JSON。

以下是a post,其中介绍了如何使用自定义媒体格式化程序实现这一目标。