ajax之 get post请求
get请求
function get(){
$.get( "./Aservlet?id=5", function(data, textStatus, jqXHR){
$("body").append( data );
} );
};
发送时候 截取的报文
GET http://localhost:8080/KKserver/Aservlet?id=5 HTTP/1.1
Host: localhost:8080
Connection: keep-alive
Accept: */*
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.75 Safari/537.36
Referer: http://localhost:8080/KKserver/test.html
Accept-Encoding: gzip, deflate, sdch, br
Accept-Language: zh-CN,zh;q=0.8
返回的报文
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Content-Length: 100
Date: Fri, 23 Dec 2016 08:18:11 GMT GET http://localhost:8080/KKserver/Aservlet id=5
GET http://localhost:8080/KKserver/Aservlet id=5
post请求
function post(){
$.post( "./Aservlet?",{ bookId: 2 , money: 100}, function(data,textStatus, jqXHR){
$("body").append( data );
} );
};
发送的报文
POST http://localhost:8080/KKserver/Aservlet? HTTP/1.1
Host: localhost:8080
Connection: keep-alive
Content-Length: 18
Accept: */*
Origin: http://localhost:8080
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.75 Safari/537.36
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Referer: http://localhost:8080/KKserver/test.html
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.8 bookId=2&money=100
返回的报文
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Content-Length: 10
Date: Fri, 23 Dec 2016 08:21:45 GMT POST :ok
post json时候
$.ajax({
url: "./Aservlet",
type: "POST",
data: ss,
success: function(data, textStatus, jqXHR){
$("body").append( data );
} ,
dataType: "json"
});
发送的报文
POST http://localhost:8080/KKserver/Aservlet HTTP/1.1
Host: localhost:8080
Connection: keep-alive
Content-Length: 28
Accept: application/json, text/javascript, */*; q=0.01
Origin: http://localhost:8080
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.75 Safari/537.36
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Referer: http://localhost:8080/KKserver/test.html
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.8 {"name":"the5fire","age":38}
返回的报文
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Content-Length: 10
Date: Fri, 23 Dec 2016 08:24:03 GMT POST :ok
但是用backbonejs 中的 model的 .save();方法时候
发送的报文
POST http://localhost:8080/KKserver/Aservlet HTTP/1.1
Host: localhost:8080
Connection: keep-alive
Content-Length: 28
Accept: application/json, text/javascript, */*; q=0.01
Origin: http://localhost:8080
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.75 Safari/537.36
Content-Type: application/json
Referer: http://localhost:8080/KKserver/demo3.html
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.8 {"name":"张三","age":"38"}
服务端用request.getParameterMap(); 却获取不到数据 不知道这是为什么?
补充 ( chrome 插件 Advanced REST client 挺好的 可以模拟发送http请求)
发现 就是因为
Content-Type: application/json(backbonejs的)
Content-Type: application/x-www-form-urlencoded(常规的)
所以后台常规办法request.getattrivute 是不行的
看文章说 spring 框架可以解决 但是属于后台的范畴我就先不研究了
不知道用servlet有什么好办法呢?如果您看到这里 恰巧知道 请留言谢谢 经过小云同学的努力 知道了
后台可以
//字符串读取
public void charReader(HttpServletRequest request) throws IOException {
BufferedReader br = request.getReader();
String str, wholeStr = "";
while((str = br.readLine()) != null){
wholeStr += str;
}
System.out.println(wholeStr);
}
//二进制读取
public void binaryReader(HttpServletRequest request) throws IOException {
int len = request.getContentLength();
ServletInputStream iii = request.getInputStream();
byte[] buffer = new byte[len];
iii.read(buffer, 0, len);
}
偶也!!!!!
ajax之 get post请求的更多相关文章
- jQuery.ajax( options ) : 通过 HTTP 请求加载远程数据
jQuery.ajax( options ) : 通过 HTTP 请求加载远程数据 这个是jQuery 的底层 AJAX 实现.简单易用的高层实现见 $.get, $.post 等. $.ajax() ...
- Ajax与ashx异步请求的简单案例
Ajax与ashx异步请求的简单案例: 前台页面(aspx): <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//E ...
- ajax防止重复提交请求1
ajax防止重复提交请求 A. 独占型提交 只允许同时存在一次提交操作,并且直到本次提交完成才能进行下一次提交. module.submit = function() { if (this.pro ...
- ajax是怎么发请求的和浏览器发的请求一样吗?cookie
下午设置cookie时出现了个问题 用ajax发的post请求php,在php的方法里设置了cookie,然后在浏览器请求的php里打印cookie值但是一直获取不到cookie的值 分析: 1.aj ...
- ajax学习之post请求步骤
ajax学习之post请求步骤 蚣汉御豁 讼护尧 娉郐皑 磲 力豪强的虎视眈眈相信过不了 觏随迦趾 怪了灵敏儿竟然不慌不忙的也没有来找她们 缸轰诎 ?ê戆冼 跄鲅胗绩 掳戈玉孑 馀模嗷婧 ...
- 原生 JS Ajax,GET和POST 请求实例代码
javascript/js的ajax的GET请求代码如下所示: <script type="text/javascript"> /* 创建 XMLHttpRequest ...
- 原生JS实现Ajax及Ajax的跨域请求
前 言 如今,从事前端方面的程序猿们,如果,不懂一些前后台的数据交互方面的知识的话,估计都不太好意思说自己是程序猿.当然,如今有着许多的框架,都有相对应的前后台数据交互的方法. ...
- Ajax之跨域请求
一.引子 我现在开启了两个django项目,分别叫Demo1和Demo2,Demo1中有一个路径‘http://127.0.0.1:8000/index/’,对应的视图是index视图返回一个inde ...
- 使用AJAX技术发送异步请求,HTTP服务端推送
使用AJAX技术发送异步请求 什么是AJAX AJAX指一步Javascript和XML(Asynchronous JavaScript And XML),它是一些列技术的组合,简单来说AJAX基于X ...
- ajax用beforeSend自定义请求过程中客户端事件,提高用户体验
本文为博主原创,未经允许不得转载: 在应用ajax的过程中,当我们再前台提交请求的时候,如果服务端响应事件比较长,就会导致需要等很长时间在前台才能接受到服务端返回的 响应结果,往往会导致用户重复点击按 ...
随机推荐
- Windows操作系统优化(Win7版) - 进阶者系列 - 学习者系列文章
Windows系统优化是个永恒的话题.在操作系统的打包制作方面更是有得一拼.前面提到的龙帝国社区的XP系统就是一个典型的例子,打包好的系统就已经是经过优化的,使用者无需再使用优化工具进行处理.下面就对 ...
- Java中的Atomic包
Atomic包的作用 方便程序员在多线程环境下,无锁的进行原子操作 Atomic包核心 Atomic包里的类基本都是使用Unsafe实现的包装类,核心操作是CAS原子操作: 关于CAS compare ...
- this的作用--转载
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- Linux挂载卸载光盘&实践
在Linux下有时候需要挂载光盘,拷贝文件或安装系统,例如拷贝Redhat操作系统镜像文件等.下面介绍一下在Linux系统下挂载.卸载光盘的方法. 在Linux系统中,每一个物理设备都可以看做是一个文 ...
- hive 内部表和外部表的区别和理解
1. 内部表 create table test (name string , age string) location '/input/table_data'; 注:hive默认创建的是内部表 此时 ...
- apache+mysql+php的环境配置
一 配置前的准备 1 先设置环境变量(win7的) win10 二 配置apache 我用EditPlus打开httpd.conf LoadModule php5_module "c:/w ...
- Linux IPC udp/tcp/UNIX域 socket编程
UNIX域套接字本地通信即在socket第一个参数中选择AF_LOCAL,socket是BSD提出的一种适用于所有的情况的进程间通信的方式,虽然现在多用于网络通信,但是本机内的进程间通信也是没有问题的 ...
- 2-3 Linux文件管理命令详解
1. 复制文件 cp: copy 格式 SRCFILE DEST 一个文件到一个文件 多个文件到一个目录 注,cd 后面什么都不加,是进入用户的家目录 如果目标文件不存在,则先创建文 ...
- python MySQLdb 对mysql基本操作方法
#!/usr/bin/env python # -*- coding:utf-8 -*- import MySQLdb conn = MySQLdb.connect(host=',db='host') ...
- linux 搜索相关命令(2)
文件搜索相关命令 1:locate命令 需要 yum install mlocate locate 文件名 在后台数据库中按文件名搜索,搜索速度更快 /var/lib/mlocate #locate命 ...