1

你会想:这有多难?好吧,看起来确实如此。

jQuery运行:

        $.ajax({
            type: "POST",
            contentType: "application/json; charset=utf-8",
            url: "/api/TEST",
            data: {"":{close:true, user: "<%: uuid %>" }},
            success: null,
            dataType: "json"
        });

我正在使用带有 ApiContoller 的 asp.net 网络表单,试图发布一些简单的数据。

public class TESTController : ApiController {
    // GET api/<controller>
    public IEnumerable<string> Get() {
        return new string[] { "value1", "value2" };
    }

    // GET api/<controller>/5
    public string Get(int id) {
        return "value";
    }

    // POST api/<controller>
    public void Post([FromBody]string value) {
        string k = ";;";


    }

    // PUT api/<controller>/5
    public void Put(int id, [FromBody]string value) {
    }

    // DELETE api/<controller>/5
    public void Delete(int id) {
    }
}

POST 方法被调用,但值始终为空。我已经尝试更改 ajax 帖子中的数据而没有前面的空引号,但无济于事。

4

1 回答 1

0

显然,在浏览博客数小时后,您需要在上面的示例中执行/编辑:

public string Post(tester test) {
    string k = ";;";

    return k;
}

添加一个类

public class tester {
    public string user { get; set; }
    public bool close { get; set; }
}

并将 AJAX 更改为

    var value = {close:true, user: "<%: uuid %>" };
    $.ajax({
        type: "POST",
        contentType: "application/json;charset=utf-8",
        url: "/api/TEST/",
        data: JSON.stringify(value)
    }).done(function(msg) {
        alert("done"+msg); 
    });
于 2013-08-14T06:56:29.227 回答