美文网首页
Ajax调用Web Api Post

Ajax调用Web Api Post

作者: 寻找无名的特质 | 来源:发表于2022-05-06 05:30 被阅读0次

使用Ajax调用Web Api Post需要注意的问题如下。

首先是跨域访问的问题,需要在Api端设置:

builder.Services.AddCors(options =>
{
    options.AddPolicy("AllowCors", builder =>
    {
        builder.AllowAnyOrigin().AllowAnyMethod().AllowAnyHeader();
    });
});

app.UseCors("AllowCors");

注意需要增加AllowAnyHeader(),否则无法设置ContentType。
然后是Web Api的定义,示例如下:

        [HttpPost("UpdatePlan")]
        public string UpdatePlan(PlanDto plan)
        {
            if(string.IsNullOrEmpty(plan.PlanId)) plan.PlanId = Guid.NewGuid().ToString();
            var content= JsonConvert.SerializeObject(plan);
            System.IO.File.WriteAllText("Plans/" + plan.PlanId + ".json", content);
            if(plan.IsFinish) RabbitMQUtility.SendMessage(content);
            return "";
        }

使用Ajax调用示例如下:

     var data={
            planId:$("#planId").val(),
            planName:$("#planName").val(),
            planDescription:$("#planDescription").val(),
            isFinish:$("#isFinish").prop("checked")
        };
                     
       
        $.ajax({
            url:"http://localhost:5217/MakePlan/UpdatePlan",
            type:"POST",
            contentType:"application/json",
            data:JSON.stringify(data),
            success:function(){
                 alert("完成");
             }
          });

需要使用JSON.stringify处理需要传输的Json对象,并且将contentType设置为application/json。

相关文章

网友评论

      本文标题:Ajax调用Web Api Post

      本文链接:https://www.haomeiwen.com/subject/wdcpsrtx.html