我尝试使用 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)
});
});
}
任何想法,为什么我的代码不起作用?
提前致谢
安德里安