【问题标题】:c# error passing a string in POST from jquery to a WebAPI project methodc#错误将POST中的字符串从jquery传递到WebAPI项目方法
【发布时间】:2014-06-27 07:28:59
【问题描述】:

我正在做一些看似简单的事情。 我有一个调用 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中到达的参数tag为null。

我哪里做错了?

【问题讨论】:

  • Content-Type 应该只是contentType。您发布的代码一开始就不应该工作。

标签: c# javascript jquery asp.net-web-api


【解决方案1】:

POST 有效载荷应该是:

data: '=' + tag,

【讨论】:

    猜你喜欢
    • 2016-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-01
    • 1970-01-01
    • 2019-03-20
    相关资源
    最近更新 更多