ajax – 具有MVC 4 API控制器的POST JSON

前端之家收集整理的这篇文章主要介绍了ajax – 具有MVC 4 API控制器的POST JSON前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有这个代码
$.ajax({


        type: "POST",url: "/api/slide",cache: false,contentType: "application/json; charset=utf-8",data: '{"Title":"fghfdhgfdgfd"}',dataType: "json",

这是我的控制者:

public class SlideController : ApiController
{

    // POST /api/Slide
    public void Post(string Title)
    {
    }

当我运行代码调用/ api / Slide时,[标题]没有数据,为空。

如何将JSON发布到API控制器?

POST http://127.0.0.2:81/api/slide HTTP/1.1
Host: 127.0.0.2:81
Connection: keep-alive
Content-Length: 18
Origin: http://127.0.0.2:81
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML,like Gecko) Chrome/21.0.1180.89 Safari/537.1
Content-Type: application/json; charset=UTF-8
Accept: application/json,text/javascript,*/*; q=0.01
Referer: http://127.0.0.2:81/
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3

Title=fghfdhgfdgfd
定义视图模型:
public class Slideviewmodel
{
    public string Title { get; set; }
}

那么您的控制器操作将此视图模型作为参数:

public class SlideController : ApiController
{
    // POST /api/Slide
    public void Post(Slideviewmodel model)
    {
        ...
    }
}

最后调用动作:

$.ajax({
    type: 'POST',url: '/api/slide',contentType: 'application/json; charset=utf-8',data: JSON.stringify({ title: "fghfdhgfdgfd" }),success: function() {
        ...    
    }
});

其原因是诸如字符串的简单类型从URI绑定。我还邀请您阅读关于Web API中的模型绑定的following article

原文链接:https://www.f2er.com/ajax/160260.html

猜你在找的Ajax相关文章