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. 解决eclipse配置Tomcat时找不到server选项

    集成Eclipse和Tomcat时找不到server选项: 按照网上的步骤如下: 在Eclipse中,窗口(window)——首选项(preferences)——服务器(Server)——运行时环境( ...

  2. CSS之Document方法的使用

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  3. php如何判断当前的操作系统是linux还是windows

    php_uname()这个函数的意义在于返回当前PHP所运行的系统的信息,下面对这个函数详细说明一下: /** * 功能:返回当前PHP所运行的系统的信息 * @param string $mode ...

  4. 苹果系统开发中的混合编程(1):Objective-C和C++的相互调用

    首先是OC调用C++的代码.   创建一个Objective-C的项目,并创建c++文件MyCppFile.hpp和MyCppFile.cpp.   把要调用Cpp代码的文件名改成mm后缀名,项目代码 ...

  5. OC4_XML文件解析

    <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-// ...

  6. JS源码(条件的判定,循环,数组,函数,对象)整理摘录

    --- title: JS学习笔记-从条件判断语句到对象创建 date: 2016-04-28 21:31:13 tags: [javascript,front-end] ---JS学习笔记——整理自 ...

  7. KOBEV / KOBED

    check the highlighted. the number of execution. if too high, can be the requirement was all met. whi ...

  8. Selenium定位元素

    Commands (命令) Action对当前状态进行操作失败时,停止测试 Assertion校验是否有产生正确的值 Element Locators指定HTML中的某元素 Patterns用于模式匹 ...

  9. php 去除数组中重复元素

    去除数组中重复元素, 找了下可以一下两个函数 php array_flip()与array_uniqure() $arr = array(…………) ;// 假设有数组包含一万个元素,里面有重复的元素 ...

  10. WCF 服务的ABC之契约(七)

    契约 Contract WCF的所有服务都会公开为契约(Contract),契约与平台无关,是描述服务功能的标注方式. 服务契约(Service Contract) 服务契约描述的是一个服务,它定义了 ...