jquery Ajax异步请求之session
写了一个脚本,如下:
$(function () {
$("#btnVcode").click(function () {
var receiveMobile = $("#Moblie").val();//手机号
var regMobile = /^1[3|4|5|7|8][0-9]\d{8}$/;//验证手机
if (!regMobile.test(receiveMobile)) {
helper.dialogError('手机号格式不对');
return;
}
$.post('/Register/SendSms', { Moblie: receiveMobile }, function (jsonObj) {
helper.checkAjaxStatus(jsonObj, function() { });
},'json');
});
});
手机号码验证通过后,会去后台调用发送短信接口,如果短信发送成功,会创建session ,而session的原理有一点是要在客户端浏览器创建cookie用来存ASP.NET_SessionId.
刚写完这段代码时担心Ajax异步请求不会创建本地cookie存sessionId. ~.~
因为后台返回的是一个Json字符串: {"status":0,"msg":"短信已发送,请注意查收!"}
纠结了一会,想怎么解决.
试试再说,经测试,竟然创建cookie了.(后台没有操作cookie,返回的结果是字符串,也没有用jquery去操作去生成cookie,然而,然而,却有了...有了...)
查看报文-->
POST http://localhost:1813/Register/SendSms HTTP/1.1
Host: localhost:1813
Connection: keep-alive
Content-Length: 18
Accept: application/json, text/javascript, */*; q=0.01
Origin: http://localhost:1813
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.86 Safari/537.36
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Referer: http://localhost:1813/Register/EpUser
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.8
Moblie=***********
HTTP/1.1 200 OK
Cache-Control: private
Content-Type: application/json; charset=utf-8
Server: Microsoft-IIS/8.0
Set-Cookie: ASP.NET_SessionId=zbdy1ndgta2g02lysrfv1rhj; path=/; HttpOnly
X-AspNetMvc-Version: 4.0
X-AspNet-Version: 4.0.30319
X-SourceFiles: =?UTF-8?B?ZDpcYmFja3VwXGRvY3VtZW50c1x2aXN1YWwgc3R1ZGlvIDIwMTNcUHJvamVjdHNcTFNVbmlvblxMU1VuaW9uLlNpdGVcUmVnaXN0ZXJcU2VuZFNtcw==?=
X-Powered-By: ASP.NET
Date: Fri, 29 Jan 2016 11:03:17 GMT
Content-Length: 53
{"status":0,"msg":"短信已发送,请注意查收!"}
真的有了.据分析,应该是
Session[Keys.smsVcode] = vcode;//短信发送成功才创建session
这行代码会 自动创建一个cookie并放入响应流(类似 Response.Cookies.Add(...) ),体现在报文的头部,浏览器收到报文,根据
Set-Cookie: ASP.NET_SessionId=zbdy1ndgta2g02lysrfv1rhj; path=/; HttpOnly
创建了cookie.
分析完毕.
jquery Ajax异步请求之session的更多相关文章
- jQuery Ajax(异步请求)
jQuery异步请求 原始的异步请求是需要创建的 XMLHttpRequest 对象.(IE5,6不支持)目前很多浏览器都支持XMLHttpRequest对象 jQuery ajax常用的回调函数:b ...
- jquery ajax异步请求
得先知道后台接口给ajax访问(接口URl和传入接口的参数及参数类型),知道访问之后返回的数据类型,有哪些数据. 选择异步请求的方式,常用的有三种,如$.ajax().$.post().$.get ...
- ajax异步请求,session失效处理
后台拦截器代码: // 判断是否是AJAX请求 if (isAjaxRequest(request)) { log.info("AjaxRequest请求"); ActionCon ...
- jquery的ajax异步请求接收返回json数据
http://www.jb51.net/article/51122.htm jquery的ajax异步请求接收返回json数据方法设置简单,一个是服务器处理程序是返回json数据,另一种就是ajax发 ...
- Ajax -异步请求 -jquery中ajax分类 -第一层 $.ajax -第二层($.get /$.post) -第三层($.getJson/$.getScript) -相应演示
Ajax 1.标准请求响应时浏览器的动作(同步操作) 1.1浏览器请求什么资源,跟随显示什么资源2.ajax:异步请求. 2.1局部刷新,通过异步请求,请求到服务器资源数据后,通过脚本修改页面中部分内 ...
- ajax异步请求
做前端开发的朋友对于ajax异步更新一定印象深刻,作为刚入坑的小白,今天就和大家一起聊聊关于ajax异步请求的那点事.既然是ajax就少不了jQuery的知识,推荐大家访问www.w3school.c ...
- spring HandlerInterceptorAdapter拦截ajax异步请求,报错ERR_INCOMPLETE_CHUNKED_ENCODING
话不多说,直接上正文. 异常信息: Failed to load resource: net::ERR_INCOMPLETE_CHUNKED_ENCODING 问题描述: 该异常是在页面发送ajax请 ...
- MVC&WebForm对照学习:ajax异步请求
写在前面:由于工作需要,本人刚接触asp.net mvc,虽然webform的项目干过几个.但是也不是很精通.抛开asp.net webform和asp.net mvc的各自优劣和诸多差异先不说.我认 ...
- art.dialog 与 ajax 异步请求
上周写了一些代码,涉及到jquery异步请求,这里归纳总结下,希望对刚接触编程的同学有帮助. 主要习惯使用 art.dialog 框架,非常好用,在异步请求上,它提供了很多简便的方法. 加载使用art ...
随机推荐
- ECMAScript 6 简介
ECMAScript 6 是JavaScript的下一个标准,正处在快速开发之中,大部分已经完成了,预计将在2014年正式发布.Mozilla将在这个标准的基础上,推出JavaScript 2.0. ...
- SVM-非线性支持向量机及SMO算法
SVM-非线性支持向量机及SMO算法 如果您想体验更好的阅读:请戳这里littlefish.top 线性不可分情况 线性可分问题的支持向量机学习方法,对线性不可分训练数据是不适用的,为了满足函数间隔大 ...
- memcache(三)内存管理
memcached(三)内存管理 memcached使用预申请的方式来管理内存的分配,从而避免内存碎片化的问题.如果采用mallo和free来动态的申请和销毁内存,必然会产生大量的内存碎片. 基本知识 ...
- java 内存观察
总结一下上周的工作. 主要就是用到了 jmap jvisualvm jmap 用来生成jvm堆内存的bin文件 jvisualvm则更强大. 待续.
- 一道js面试题看变量的作用域
[问题]分别求下面程序的输出结果: 1. <script type="text/javascript"> var a = 10; sayHi(); function s ...
- 搭建jekyll博客
使用jekyll将markdown文件生成静态的html文件,并使用主题有序的进行布局,形成最终的博客页面. 特点 基于ruby 使用Markdown书写文章 无需数据库 可以使用GitHub Pag ...
- Atitit 面向对象弊端与问题 坏处 缺点
Atitit 面向对象弊端与问题 坏处 缺点 1.1. 状态fsm,反模块化,又是反并行的,这是它的非常固有的特征, 1 1.2. 现时的OOP编程有可能不缓存友好(cache friendly) ...
- C#并行编程-PLINQ:声明式数据并行
目录 C#并行编程-相关概念 C#并行编程-Parallel C#并行编程-Task C#并行编程-并发集合 C#并行编程-线程同步原语 C#并行编程-PLINQ:声明式数据并行 背景 通过LINQ可 ...
- 每天一个linux命令(41):ps命令
Linux中的ps命令是Process Status的缩写.ps命令用来列出系统中当前运行的那些进程.ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程,如果想要动态的显示进程信 ...
- java基础,继承类题目:编写一个Java应用程序,该程序包括3个类:Monkey类、People类和主类 E
21.编写一个Java应用程序,该程序包括3个类:Monkey类.People类和主类 E.要求: (1) Monkey类中有个构造方法:Monkey (String s),并且有个public vo ...