1

可能重复:
VS 2010 Web 应用程序中的 ASP.NET Web Api CRUD 操作

我尝试使用 Web Api 在 vs 2010(不是 Web 表单)上的 Web 应用程序项目上创建 CRUD 操作。我已经通过网址“ http://localhost:7031/api/product/ ”成功返回了控制器的值,
但是当我尝试使用 jquery ajax 时,控制器没有返回值。

贝娄是我的代码:

路线/Global.asax:

protected void Application_Start(object sender, EventArgs e)

        {
            RouteTable.Routes.MapHttpRoute(
            name: "DefaultApi",
                routeTemplate: "api/{controller}/{id}", // browse with localhost:7031/api/product
                //routeTemplate: "{controller}/{id}",  // browse with localhost:7031/product
                defaults: new { id = System.Web.Http.RouteParameter.Optional }

        );
        }

控制器 :

namespace MyLabs1.Controller

{

    public class ProductController : ApiController
    {
        NorthwindEntities db = new NorthwindEntities();

        public IEnumerable<Product> GetAll()
        {
            return db.Products.AsEnumerable();
        }

Ajax Jquery 页面:

<script src="Script/jquery-1.7.1.min.js" type="text/javascript"></script>
<script src="Script/jquery-1.7.1.js" type="text/javascript"></script>

<script type="text/javascript">
$(function () {
        $('#<%= cviewproduct.ClientID %>').click(function (e) {
            getProducts();
        });

    });

function getProducts() {
        $.getJSON("/api/product/",
                function (data) {
                        $.each(data, function (key, val) {
                        var str = val.productName;
                        alert(str)
                    });
                });
    }

任何想法,为什么我的代码不起作用?

提前致谢

安德里安

4

0 回答 0