c#将POST中的字符串从jquery传递到WebAPI项目方法时出错

c#将POST中的字符串从jquery传递到WebAPI项目方法时出错,c#,javascript,jquery,asp.net-web-api,C#,Javascript,Jquery,Asp.net Web Api,我在做一些看似简单的事情。 我有一个调用WebApi项目方法的jquery函数(c#visual studio 2013)。此方法接受输入中的字符串作为参数 这是我的javascript代码 function insert() { var tag='test'; $.ajax({ type: "POST", contentType: "application/x-www-form-urlencoded"

我在做一些看似简单的事情。 我有一个调用WebApi项目方法的jquery函数(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中的参数标记为null


我哪里做错了?

POST有效负载应该是:

data: '=' + tag,

内容类型
实际上应该是
内容类型
。您发布的代码一开始就不应该起作用。