post请求

原生AJAX(包括Fetch)

牧云@^-^@ 提交于 2020-03-10 04:25:51
一、INTRO AJAX即“Asynchronous Javascript And XML” 一、Ajax的原生初级 1.1 Ajax对象创建:var xhr= new XMLHttpRequest(); 1.2 请求首行:xhr.open( 'post/get', 'url',true/false); 第三个参数为是否异步,默认是异步(true) 1.3 数据发送:xhr.send(data); 如为get请求发送null 1.4 设置请求头: xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); 如果send内容为urlencoded格式(“a=1&b=2”),请参照该样式设置。 1.5 检查是否请求完毕:readyState属性   只要readyState 触发就会触发readystatechange事件!   readyState有5个值:0~4,分别表示:未初始化、启动、发送、接受、完成。 xhr.onreadystatechange = function(){ if (xhr.readyState == 4){ if ((xhr.status >= 200 && xhr.status < 300) || xhr.status == 304){ //可以在完成后调用xhr

网络协议

こ雲淡風輕ζ 提交于 2020-03-09 11:01:08
网络协议介绍 OSI(Open System Interconnect)七层模型:通信的特点是对等通信 从上往下分别为 应用层:为应用程序提供服务,此层应有的网络协议有HTTPS,HTTP,FTP等协议 实际公司A的老板就是我们所述的用户,而他要发送的商业报价单,就是应用层提供的一种网络服务,当然,老板也可以选择其他服务,比如说,发一份商业合同,发一份询价单,等等。 表示层:数据格式化,数据加密;表示层提供各种用于应用层数据的编码和转换功能,确保一个系统的应用层发送的数据能被另一个系统的应用层识别 由于公司A和公司B是不同国家的公司,他们之间的商定统一用英语作为交流的语言,所以此时表示层(公司的文秘),就是将应用层的传递信息转翻译成英语。同时为了防止别的公司看到,公司A的人也会对这份报价单做一些加密的处理。这就是表示的作用,将应用层的数据转换翻译等。 会话层:建立,管理,维护会话,会话层就是负责建立、管理和终止表示层实体之间的通信会话。该层的通信由不同设备中的应用程序之间的服务请求和响应组成。 会话层的同事拿到表示层的同事转换后资料,(会话层的同事类似公司的外联部),会话层的同事那里可能会掌握本公司与其他好多公司的联系方式,这里公司就是实际传递过程中的实体。他们要管理本公司与外界好多公司的联系会话。当接收到表示层的数据后,会话层将会建立并记录本次会话,他首先要找到公司B的地址信息

Django开发纯后台服务的时候遇到CSRF引起的报错

◇◆丶佛笑我妖孽 提交于 2020-03-09 06:50:24
Django视图: 当请求为post请求时会遇到CSRF的报错,Django针对CSRF的保护措施是在生成的每个表单中放置一个自动生成的令牌,通过这个令牌判断POST请求是否来自同一个网站,只需要在form表单中添加{% csrf_token %} Django纯后端服务:    当请求是post请求时此时也会出现上面的报错,这个时候我是去settings.py将 MIDDLEWARE = [ 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', #'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', ]中的'django.middleware.csrf

ElasticSearch之CURL操作

╄→尐↘猪︶ㄣ 提交于 2020-03-07 12:22:03
CURL的操作 curl是利用URL语法在命令行方式下工作的开源文件传输工具,使用curl可以简单实现常见的get/post请求。简单的认为是可以在命令行下面访问url的一个工具。在centos的默认库里面是有curl工具的,如果没有请yum安装即可。 curl -X 指定http的请求方法 有HEAD GET POST PUT DELETE -d 指定要传输的数据 -H 指定http请求头信息 浏览ES服务器 curl -XGET http://master:9200 <=> 在浏览器中访问 创建索引库 curl -XPUT http://master:9200/bigdata_p 这样就在es中创建了一个索引库bigdata_p POST和PUT都可以用于创建,二者之间的区别: PUT是幂等方法,POST不是。所以PUT用户更新,POST用于新增比较合适。 ES创建索引库和索引时的注意点 1)索引库名称必须要全部小写,不能以下划线开头,也不能包含逗号 2)如果没有明确指定索引数据的ID,那么es会自动生成一个随机的ID,需要使用POST参数 curl -XPOST http://localhost:9200/bigdata/product/ -d '{"author" : "Doug Cutting"}' 往索引库中新增数据 在具体的type里面,添加相关的document

前端vue部分小结

时光总嘲笑我的痴心妄想 提交于 2020-03-05 19:19:32
对Vue进一步理解 1、Vue的特点(数据的双向绑定和组件化) A.响应式:可以实现数据和视图层的双向绑定,可以只关心数据,试图会自动同步,减少了DOM 操作 B.组件化、模块化:将大片的代码拆分成若干个小的模块,增强了代码的复用性和可读性,便于管理 2、vue与后台交互的方法 Get post put delete Get:将提交的数据放在URL中,即以明文的方式传递参数数据(以?分割URL地址和数据,参数间以&相连接); 因为受URL长度限制,传递的数据量较小,最大不超过2kB; 会产生一个TCP数据包,会把header和data一并发出去,服务器响应200并传回相应的数据 Post:将提交的数据放在请求体中; 传递的数据量较大,一般不受限制,(大小取决于服务器的处理能力); 会产生两个TCP数据包,浏览器会先把header发出去,浏览器响应100(continue)后,浏览器再发送data,服务器响应200,并回传相应的数据 get在浏览器回退的时候是无害的,而post会再次提交请求;get请求参数会被完整的保留在浏览器的历史记录中,而post不会;对于参数的数据类型,Get只接收ASCII字符,而post没有限制;get参数通过URL传递,post放在request body中 Post和get本质上是没有区别的;GET和POST是HTTP协议中两种发送请求的方法

OpenResty入门记录

梦想与她 提交于 2020-03-05 18:24:31
Resty 入门 lacation funciton 含义 备注 ngx.req.get_uri_args 获取参数 ngx.req.get_post_args 获取post参数 ngx.location.capture ngx.location.capture_multi 子请求 local res1, res2 = ngx.location.capture_multi({ {"/sum", {args={a=3, b=8}}} ngx.exec 内部跳转 ngx.redirect 外部重定向 ngx.encode_args 转义 ngx.req.get_body_data 获取body lua_need_request_body on; ngx.req.read_body 非全局获取body ngx.req.get_body_file 已存入临时文件时,通过该方法获取 来源: oschina 链接: https://my.oschina.net/guopei/blog/3188696

HTTP 请求,POST方式,把一个对象序列化成JSON样式作为参数访问服务器

。_饼干妹妹 提交于 2020-03-05 16:17:02
public static string Login(Login login) { HttpWebRequest request; WebResponse response; string remoteAddress = ConfigurationManager.AppSettings["remoteAddress"]; string LoginServiceName = ConfigurationManager.AppSettings["LoginServiceName"]; byte[] bytes = Encoding.Default.GetBytes(string.Format("{0}@{1}:{2}", login.userid, login.factory, login.password)); string userNamePass = Convert.ToBase64String(bytes); DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(Login)); MemoryStream ms = new MemoryStream(); ser.WriteObject(ms, login); var json = Encoding.UTF8.GetString(ms

php防止重复提交问题总结

佐手、 提交于 2020-03-05 08:06:29
用户提交表单时可能因为网速的原因,或者网页被恶意刷新,致使同一条记录重复插入到数据库中,这是一个比较棘手的问题。我们可以从客户端和服务器端一起着手,设法避免同一表单的重复提交。 1.使用客户端脚本 提到客户端脚本,经常使用的是JavaScript进行常规输入验证。在下面的例子中,我们使用它处理表单的重复提交问题,请看下面的代码: <form method="post" name="register" action="test.php" enctype="multipart/form-data"> <input name="text" type="text" id="text" /> <input name="cont" value="提交" type="button" onClick="document.register.cont.value='正在提交,请等待...'; document.register.cont.disabled=true;document.the_form.submit();"> </form> 当用户单击“提交”按钮后,该按钮将变为灰色不可用状态。 上面的例子中使用OnClick事件检测用户的提交状态,如果单击了“提交”按钮,该按钮立即置为失效状态,用户不能单击按钮再次提交。 还有一个方法,也是利用JavaScript的功能,但是使用的是OnSubmit(

vue实例的生命周期、vue-resource、axios

◇◆丶佛笑我妖孽 提交于 2020-03-05 03:24:46
1、vue实例的生命周期             2、vue-resource---是一个第3方包(和vue配套使用的第3方包,因为在vue中不提倡使用jquery)              其中options,和errorCallback都是可选参数,非必传                             改造:配置全局的根路径,全局配置post请求表单提交要配置的参数                     3、axios          get post请求写法和vue-resource一样                          在vue中的使用:                来源: https://www.cnblogs.com/yangyutian/p/11045672.html

前端基础-HTTP,HTML,浏览器

徘徊边缘 提交于 2020-03-05 01:07:31
前端基础 一、HTTP,HTML,浏览器 1、说一下 http 和 https https 的 SSL 加密是在传输层实现的。 (1)http 和 https 的基本概念: http: 超文本传输协议,是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器 端请求和应答的标准(TCP),用于从 WWW 服务器传输超文本到本地浏览器的传输协议,它可以 使浏览器更加高效,使网络传输减少。 HTTP 是一个基于 TCP/IP 通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)HTTP 是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。 它于 1990 年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在 WWW 中使用的是 HTTP/1、0 的第六版,HTTP/1、1 的规范化工作正在进行之中,而且 HTTP-NG(Next Generation of HTTP)的建议已经提出。HTTP 协议工作于客户端-服务端架构为上。浏览器作为 HTTP 客户端通过 URL向HTTP服务端即WEB服务器发送所有请求。Web服务器根据接收到的请求后,向客户端发送 响应信息。 https: 是以安全为目标的HTTP通道,简单讲是HTTP的安全版,即HTTP下加入SSL层,HTTPS 的安全基础是 SSL,因此加密的详细内容就需要 SSL。