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 + : ,
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);
});
});

【http】http/1.1 八种请求方式的更多相关文章

  1. http 中定义的八种请求的介绍

    在http1.1协议中,共定义了8种可以向服务器发起的请求(这些请求也叫做方法或动作),本文对这八种请求做出简要的介绍: 1.PUT:put的本义是推送 这个请求的含义就是推送某个资源到服务器,相当于 ...

  2. Ajax中的get和post两种请求方式的异同

    Ajax中我们经常用到get和post请求.那么什么时候用get请求,什么时候用post方式请求呢? 在做回答前我们首先要了解get和post的区别.   1. get是把参数数据队列加到提交表单的A ...

  3. HttpwebClient的四种请求方式

    最近悟出来一个道理,在这儿分享给大家:学历代表你的过去,能力代表你的现在,学习代表你的将来. 十年河东十年河西,莫欺少年穷.      本文旨在发布代码,供自己参考,也供大家参考,谢谢. 正题: Ht ...

  4. Ajax的get和post两种请求方式区别

    Ajax的get和post两种请求方式区别 (摘录):http://ip-10000.blog.sohu.com/114437748.html 解get和post的区别. 1. get是把参数数据队列 ...

  5. SpringMVC的REST风格的四种请求方式

    一. 在HTTP 协议里面,四个表示操作方式的动词:GET.POST.PUT.DELETE. ·它们分别对应四种基本操作: 1.GET  ====== 获 取资源 2.POST ======新建资源 ...

  6. 【转载】Redis的Java客户端Jedis的八种调用方式(事务、管道、分布式…)介绍

    转载地址:http://blog.csdn.net/truong/article/details/46711045 关键字:Redis的Java客户端Jedis的八种调用方式(事务.管道.分布式…)介 ...

  7. 【spring springmvc】这里有你想要的SpringMVC的REST风格的四种请求方式

    概述 之前的文章springmvc使用注解声明控制器与请求映射有简单提到过控制器与请求映射,这一次就详细讲解一下SpringMVC的REST风格的四种请求方式及其使用方法. 你能get的知识点 1.什 ...

  8. HTTP协议八种请求类型介绍

    HTTP 协议中共定义了八种方法或者叫“动作”来表明对 Request-URI 指定的资源的不同操作方式,具体介绍如下: OPTIONS:返回服务器针对特定资源所支持的HTTP请求方法.也可以利用向W ...

  9. jQuery中的Ajax几种请求方式

    1. load( url, [data], [callback] ) :载入远程 HTML 文件代码并插入至 DOM 中. url (String) : 请求的HTML页的URL地址. data (M ...

随机推荐

  1. hdu 4144 状态压缩dp

    #include<map> #include<set> #include<cmath> #include<queue> #include<cstd ...

  2. Interesting Applications in Machine Learning and Computer Vision

    1.Visually Indicated Sounds 网址:http://vis.csail.mit.edu/ 通过视频预测敲打的声音 2.AI Porn Video Editor 代码网址:htt ...

  3. Backbone Events 源码笔记

    用了backbone一段时间了,做一些笔记和总结,看的源码是1.12 backbone有events,model,collection,histoty,router,view这些模块,其中events ...

  4. Sql Server中的分组

    1.Group by可以将相同的数据合并为一组,分组后的数据可以看成是一个临时的表,注意如果sql中有where条件,那么group by必须放在where之后. 2.GROUP BY子句中可以指定多 ...

  5. 【转】Ajax 基础学习

    今天简单的学习了 Ajax 的基础知识,总结在这里.部分代码不是原创,特此说明. [Ajax 简介] AJAX = Asynchronous JavaScript and XML(异步的 JavaSc ...

  6. CSS之transition(动画)

    Transform字面上就是变形,改变的意思.在CSS中transform主要包括以下几种:旋转rotate.扭曲skew.缩放scale和移动translate以及矩阵变形matrix. 下面我们一 ...

  7. jQuery$命名冲突问题解决方法

    也许你在看此文章之前还不知道jquery有一个noConflict()东西了,它就是为了避免与其它js插件碰到相同变量的一个解决方法,利用noConflict()可以把变量存到其它指定的变量中去如,我 ...

  8. Cocos2d-js中使用纹理对象创建Sprite对象

    本节我们会通过一个实例介绍纹理对象创建Sprite对象使用,这个实例如图5-2所示,其中地面上的草是放在背景(如下图所示)中的,场景中的两棵树是从后图所示的“树”纹理图片中截取出来的,图5-5所示是树 ...

  9. [Bootstrap]组件(二)

    按钮组 .btn-group>.btn : 一组.btn按钮包裹在.btn-group 外包元素.btn-group  {position/display/} 按钮元素.btn <div ...

  10. flume+kafka (分区实现 默认单分区)

    这篇文章主要是log4j+flume+kafka的内容 首先从从下面的地址下载flume+kafka的插件包 https://github.com/beyondj2ee/flumeng-kafka-p ...