c#在POST中从jquery传递字符串给WebAPI项目方法时出错

本文关键字:WebAPI 项目 方法 出错 字符串 POST 中从 jquery | 更新日期: 2023-09-27 18:02:45

我正在做一件看似简单的事情。我有一个jquery函数,调用WebApi项目方法(c# visual studio 2013)。此方法接受输入中的字符串作为参数。

这是我的javascript代码

function insert() {                       
    var tag='test';
    $.ajax({
        type: "POST",
        contentType: "application/x-www-form-urlencoded"
        url: 'api/TAGS/InsertTAG',
        data: tag,
        success: function (msg) {
            $("#result").html(msg);
        },
        error: function () {
            alert("fail");
        }
    });
}

WebApiConfig.cs:

config.Routes.MapHttpRoute(
    name: "DefaultApiGet",
    routeTemplate: "api/{controller}/{action}/{id}/{filter}",
    defaults: new { id = RouteParameter.Optional, filter = RouteParameter.Optional }
);
控制器

[HttpPost]
public IHttpActionResult InsertTAG([FromBody] string tag)
{
    var da = new TagsDataAccess();            
    return result = da.InsertTAG(tag);
}

ajax调用成功,但是到达InsertTAG的参数标签为空。

我哪里做错了?

c#在POST中从jquery传递字符串给WebAPI项目方法时出错

POST的有效载荷应该是:

data: '=' + tag,