jquery ajax post方式访问web api

本文介绍如何利用jQuery的AJAX POST方法调用WebAPI,实现从前端向后端发送数据并接收响应的过程。同时,展示了在MyWebAPIController中处理POST请求的具体实现,以及如何在web.config中配置跨域访问。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 1 前端jquery ajax post 方式访问web api的方法

    $.ajax({
            type: 'POST',
            contentType: "application/x-www-form-urlencoded",
            url: 'http://localhost:57181/api/MyWebAPI/GetTaoCanOnHttpPost',
            data: { id: categoryid ,name:'helenzhou'},
            dataType: 'json',
            success: function (data) {
                var tt = "";
                $.each(data, function (k, v) {
                    tt += '<div style="height:120px;">' +
                        '<img src="' + v.taoCanIMGUrl + '" style="width:100px;height:100px;float:left;"/>' +
                        '<ul style="float:left;list-style: none;padding-left: 10px">' +
                        '<li>' + v.name + '</li>' +
                        '<li>' + v.price + '</li>' +
                        '<li onclick="AddToCart(' + v.taoCanId + ',' + v.price + ',\'' + v.name + '\');">加入购物车</li></ul></div>';
                });
                $("#div_taocan").html(tt);
            }
        });

 

2 在MyWebAPIController : ApiController类里


        [HttpPost]
        public List<TaoCan> GetTaoCanOnHttpPost([FromBody]JObject obj)
        {       
//var name =obj["name"].ToString();   
//var id =obj["id"].ToString(); 
            var taoCanCategoryId =new System.Data.SqlClient.SqlParameter("@taoCanCategoryId",
                System.Data.SqlDbType.Int, 0, System.Data.ParameterDirection.Input,
                0, 0, "taoCanCategoryId", System.Data.DataRowVersion.Current, false, null, "", "", "");
            taoCanCategoryId.Value = Convert.ToInt32(obj["id"].ToString());
            var list = db.Database.SqlQuery<TaoCan>(@"SELECT [taoCanId]
      ,[name]
      ,[price]
      ,[isOnline]
      ,[AddTime]
      ,[ModifyTime]
      ,[taoCanCategoryId]
,[taoCanIMGUrl]
  FROM  [dbo].[TaoCan]
  where taoCanCategoryId =@taoCanCategoryId 
", taoCanCategoryId).ToList();

            return list;
        }

3 web.config文件节点 <system.webServer> 配置允许跨域

 <httpProtocol>

		  <customHeaders>

			  <add name="Access-Control-Allow-Origin" value="*" />

			  <add name="Access-Control-Allow-Headers" value="Content-Type" />

			  <add name="Access-Control-Allow-Methods" value="GET, POST, PUT, DELETE, OPTIONS" />

		  </customHeaders>

	  </httpProtocol>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值