• 【http】http/1.1 八种请求方式


    OPTIONS

    返回服务器针对特定资源所支持的HTTP请求方法。也可以利用向Web服务器发送'*'的请求来测试服务器的功能性。

    HEAD

    向服务器索要与GET请求相一致的响应,只不过响应体将不会被返回。这一方法可以在不必传输整个响应内容的情况下,就可以获取包含在响应消息头中的元信息。

    GET

    向特定的资源发出请求。注意:GET方法不应当被用于产生“副作用”的操作中。

    POST

    向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有资源的修改。

    PUT

    向指定资源位置上传其最新内容。

    DELETE (后台需要实现逻辑

    请求服务器删除Request-URI所标识的资源。(后台需要有实现逻辑

    TRACE

    回显服务器收到的请求,主要用于测试或诊断。

    CONNECT

    HTTP/1.1协议中预

    MVC4 webapi实例  post delete put get 就当增删改查来用吧 

     public class ComplexTypeValuesController : ApiController
        {
    
            static readonly MoviesRepository repository = new MoviesRepository();
    
            // GET api/values
            public IEnumerable<Movie> Get()
            {
                return repository.Movies;
            }
    
            // GET api/values/5
            public IHttpActionResult Get(int id)
            {
                Movie repMovie = repository.Movies.Where(m => m.ID == id).SingleOrDefault();
                if (repMovie == null)
                    return NotFound();
                else
                    return Ok(repMovie);
            }
    
            /*
            Post this JSON object will cause cross-field validation error from IValidatableObject:
    
            {
            "Title": "Fifty Shades of Grey",
            "ReleaseDate": "2015-02-13T00:00:00",
            "Genre": "Family",
            "Price": 15.99,
            "Rating": "R",
            "Stars": 5
            }
     
     
             */
            // POST api/values
            public IHttpActionResult Post(Movie movie)
            {
                if (!ModelState.IsValid)
                    return BadRequest(ModelState);
    
                int? maxId = (from m in repository.Movies
                              orderby m.ID descending
                              select m.ID).FirstOrDefault();
    
                Movie newMovie = new Movie
                {
                    ID = (maxId != null) ? (int)maxId + 1 : 1,
                    Title = movie.Title,
                    ReleaseDate = movie.ReleaseDate,
                    Genre = movie.Genre,
                    Rating = movie.Rating,
                    Price = movie.Price
                };
    
                repository.Movies.Add(newMovie);
                return Ok(newMovie);
            }
    
            // PUT api/values/5
            public IHttpActionResult Put(int id, Movie movie)
            {
                if (!ModelState.IsValid)
                    return BadRequest(ModelState);
    
                var repMovie = (from m in repository.Movies
                                where m.ID == id
                                select m).SingleOrDefault();
    
                if (repMovie == null)
                    return NotFound();
                else
                {
    
                    repMovie.Title = movie.Title;
                    repMovie.ReleaseDate = movie.ReleaseDate;
                    repMovie.Genre = movie.Genre;
                    repMovie.Rating = movie.Rating;
                    repMovie.Price = movie.Price;
                    return Ok(repMovie);
                }
    
            }
    
            // DELETE api/values/5
            public IHttpActionResult Delete(int id)
            {
                var repMovie = (from m in repository.Movies
                                where m.ID == id
                                select m).SingleOrDefault();
    
                if (repMovie == null)
                    return NotFound();
                else
                {
                    repository.Movies.Remove(repMovie);
                    return Ok();
                }
            }
        }

    js 调用部分:

      ///////////////////////////////
        // Simple Type
    
        $("#GetAllRequest").click(function (e) {
    
            $.ajax({
                url: "/api/values",
                type: "GET",
                dataType: "json" // aka Accept
            })
            .done(function (data, textStatus, jqXHR) {
                $('#GetAlloutput').html(data);
            })
            .fail(function (jqXHR, textStatus, errorThrown) {
                $('#GetAlloutput').html('Bummer: there was an error: ' + textStatus);
            });
        });
    
        $("#GetIdRequest").click(function (e) {
    
            $.ajax({
                url: "/api/values/42",
                type: "GET",
                dataType: "json" // aka Accept
            })
            .done(function (data, textStatus, jqXHR) {
                $('#GetIdoutput').html(data);
            })
            .fail(function (jqXHR, textStatus, errorThrown) {
                $('#GetIdoutput').html('Bummer: there was an error: ' + textStatus);
            });
    
        });
    
        $("#PostRequest").click(function (e) {
    
            $.ajax({
                url: "/api/values",
                type: "POST",
                dataType: "json", // aka Accept
                contentType: "application/json",
                data: ""myData""
            })
            .done(function (data, textStatus, jqXHR) {
                $('#Postoutput').html(data);
            })
            .fail(function (jqXHR, textStatus, errorThrown) {
                $('#Postoutput').html('Bummer: there was an error: ' + textStatus);
            });
        });
    
        $("#PutRequest").click(function (e) {
    
            $.ajax({
                url: "/api/values/42",
                type: "PUT",
                dataType: "json", // aka Accept
                contentType: "application/json",
                data: ""myData""
            })
            .done(function (data, textStatus, jqXHR) {
                $('#Putoutput').html(data);
            })
            .fail(function (jqXHR, textStatus, errorThrown) {
                $('#Putoutput').html('Bummer: there was an error: ' + textStatus);
            });
    
        });
    
        $("#DeleteRequest").click(function (e) {
    
            $.ajax({
                url: "/api/values/42",
                type: "DELETE",
                dataType: "json", // aka Accept
                contentType: "application/json"
            })
            .done(function (data, textStatus, jqXHR) {
                $('#Deleteoutput').html(data);
            })
            .fail(function (jqXHR, textStatus, errorThrown) {
                $('#Deleteoutput').html('Bummer: there was an error: ' + textStatus);
            });
        });
  • 相关阅读:
    js表单验证
    i利用图片按钮 和 input type="image" 为背景提交表单
    php 时间转换
    select 响应时间 js
    浏览器兼容
    选修课程的级联。
    时间显示的位置
    广告飘动
    C++--引用
    ubuntu中可以ping通IP地址但是ping不通域名的问题(www.baidu.com)
  • 原文地址:https://www.cnblogs.com/viewcozy/p/4638347.html
Copyright © 2020-2023  润新知