jQuery中操作Ajax方法小结
有时候,越深入去了解一个点,越发觉得自己无知,而之前当自己晓得一两个片面的点还洋洋自得,殊不知,这是多么讽刺,JQuery中有很多优势,比如异步提交值,部分刷新,给用户很好的体验感。目前为止,大部分项目基本都是MVC开发,部分WebForm的项目逐渐被淘汰,恰巧当前维护是银行多年前的古董项目,WebForm已许久不接触, 趁此机会,总结下与Ajax的交互,虽然MVC与Ajax的交互更友好简洁。
下面介绍常见的JQuery中对Ajax的应用 Load()、Ajax()、Get()、Post()、getJson()、getScript()
jQery对Ajax操作进行了封装,常见的 ajax()属于最底层的方法,使用频率很高的 $.post()、$.get() 是在最底层的基础上又细分出来封装的一层,因为其分别对应的ajax()中 type的 post、get。可简单的理解为
- GET - 从指定的资源请求数据。
- POST - 向指定的资源提交要被处理的数据
前台发送数据-->后台接收-->进行处理-->返回前台-->前台将值显示在评论区
为什么说是绕了一大圈,因为GET、POST 是有区别的,我这里为了统一写DEMO,不免在用法上有画蛇添足之嫌
前台body内容总览
<body>
<form id="form1" runat="server">
<div>
姓名:<asp:TextBox ID="txtName" runat="server" ClientIDMode="Static"></asp:TextBox>
<p></p>
評論:<asp:TextBox ID="txtContent" runat="server" ClientIDMode="Static" TextMode="MultiLine"></asp:TextBox>
<p></p>
<asp:Button ID="btnAjax" runat="server" Text="Ajax" ClientIDMode="Static"></asp:Button>
<asp:Button ID="btnPost" runat="server" Text="Post" ClientIDMode="Static"></asp:Button>
<asp:Button ID="btnGet" runat="server" Text="Get" ClientIDMode="Static" />
<p></p>
</div>
<div class="comment">評論區</div>
<div id="resTest" title="content" style="height:auto"></div>
</form>
</body>
1. Ajax()
①可以直接请求到后台中某个方法,而不必在后台Load事件中处理
②可以设置失败时的函数
前台界面:(PS:form表单下的ASP中button控件,默认类型值是submit,所以在前台方法下面都增加了 return false;下同)
$("#btnAjax").click(function () {
$.ajax({
type: "post",
contentType: "application/json; charset=utf-8",
dataType: "json",
url: "WebForm1.aspx/ReceiveJson",
data: "{'Name':'郎中令','Content':'200'}",
success: function (data) {
$("#resTest").append(data.d);
},
error: function () {
alert("發送失敗");
}
});
return false;
});
后台界面:
//參數名必須與前台JSon鍵名一致
[WebMethod]
public static string ReceiveJson(string Name, string Content)
{
return Name + " " +DateTime.Now.ToString("yyyyMMdd HH:mm:ss")+ "<br /> " + "Content:" + Content;
}
2. post() 主要用来区别get()
① 方式不同, 一般表单的提交中get请求会让参数显示在url 栏中进行传递,post请求是作为http消息的实体内容发送给后台
② 大小不同, get请求是以url 传递参数的,所以会有大小限制,而post则可以传更多更大的数据
③ 安全性不同, get请求的数据会被浏览器缓存起来,可在历史记录中查看,对于密码等某些信息会不安全
前台界面:
$("#btnPost").click(function () {
if ($("#txtName").val()!=""&&$("#txtAge").val()!="") {
$.post("WebForm1.aspx", {
Name: $("#txtName").val(),
Content: $("#txtContent").val()
}, function (data) {
$("#resTest").append(data);
});
}
else {
alert("界面中尚有文本框值未填寫");
}
return false;
});
3. get() 该说的前面都说了,用法以及参数结构和post()一样,这里没什么好讲的
$("#btnGet").click(function () {
if ($("#txtName").val()!=""&&$("#txtAge").val()!="") {
$.get("WebForm1.aspx", {
Name: $("#txtName").val(),
Content: $("#txtContent").val()
}, function (data,status) {
$("#resTest").html(data);
});
}
else {
alert("界面中尚有文本框值未填寫");
}
return false;
});
对于后台而言,Post()和Get()请求,都必须在Load 事件里面处理,即使前台定义后台中的方法,像ajax()那样 ,为 url: "WebForm1.aspx/ReceiveJson", 也不能处理,这点我也暂时没有想明白,线上也暂无解决方案。此两者后台的处理方式完全一样,如下,仅仅是将接收的值中间 加了一个时间
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
if (Request["Name"] != null || Request["Content"] != null)
{
string all = Request["Name"].ToString()+" " +DateTime.Now.ToString("yyyyMMdd HH:mm:ss")+ "<br /> " + Request["Content"].ToString();
Response.Write(all);
Response.End();
}
}
}
三个方法已罗列出来,启动项目,看看效果如何

好吧,我承认,这个太丑了,功能还是实现了的
权当是个学习记录
----市人皆大笑,举手揶揄之
jQuery中操作Ajax方法小结的更多相关文章
- $.ajax()方法详解 jquery中的ajax方法
jquery中的ajax方法参数总是记不住,这里记录一下. 1.url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址. 2.type: 要求为String类型的参数,请求方式(p ...
- jquery中的ajax方法参数
引用来自:http://www.cnblogs.com/tylerdonet/p/3520862.html jquery中的ajax方法参数总是记不住,这里记录一下. 1.url: 要求为String ...
- jquery中的ajax方法
$.ajax()方法详解 jquery中的ajax方法参数总是记不住,这里记录一下. 1.url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址. 2.type: 要求为Strin ...
- jquery中的ajax方法参数的用法和他的含义
jquery中的ajax方法参数的用法和他的含义: 1.url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址. 2.type: 要求为String类型的参数,请求方式(pos ...
- 用JQuery中的Ajax方法获取web service等后台程序中的方法
用JQuery中的Ajax方法获取web service等后台程序中的方法 1.准备需要被前台html页面调用的web Service,这里我们就用ws来代替了,代码如下: using System; ...
- jQuery中的$.ajax()方法
jQuery中的$.ajax()方法 $.ajax({ type:"POST", url:"../page/user.action?userId=" + use ...
- jquery中的ajax方法参数总是记不住,这里记录一下。
1.url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址. 2.type: 要求为String类型的参数,请求方式(post或get)默认为get.注意其他http请求方法,例如 ...
- jquery中的ajax方法详解
定义和用法ajax() 方法通过 HTTP 请求加载远程数据.该方法是 jQuery 底层 AJAX 实现.简单易用的高层实现见 $.get, $.post 等.$.ajax() 返回其创建的 XML ...
- jquery中页面Ajax方法$.load的功能
load语法 $(".selector").load("url", function(responseText, statusText, xmlhttprequ ...
随机推荐
- Shards
跟我一起云计算(5)——Shards 什么是sharding Sharding的基本思想就要把一个数据库切分成多个部分放到不同的数据库 (server)上,从而缓解单一数据库的性能问题.不太严格的 ...
- noip推荐系列:遥控车[字符串+高精+二分答案]
[问题描述] 平平带着韵韵来到了游乐园,看到了n辆漂亮的遥控车,每辆车上都有一个唯一的名字name[i].韵韵早就迫不及待地想玩名字是s的遥控车.可是韵韵毕竟还小,她想象的名字可能是一辆车名字的前缀( ...
- 百度云语音识别,Audio2Txt(c#)
百度云识别没有提供c#版本的sdk,下面给个c#的 1.打开网址http://developer.baidu.com/ 2.登陆 3.管理控制台>开发者服务管理 4.创建工程 5.输入名称,点击 ...
- WPF专业编程指南 - 那些根元素<>的解释
<Window x:Class="Chapter1_WpfApplication1.MainWindow" xmlns="http://schemas.micros ...
- JS的基本概念
JS的基本概念 任何语言的核心都必然会描述这门语言最基本的工作原理.而描述的内容通常都要涉及这门语言的语法,操作符,数据类型,内置功能等用于构建复杂解决方案的概念.Ecma-262通过叫做EcmaSc ...
- “MVC+Nhibernate+Jquery-EasyUI”信息发布系统 第二篇(数据库结构、登录窗口、以及主界面)
“MVC+Nhibernate+Jquery-EasyUI”信息发布系统 第二篇(数据库结构.登录窗口.以及主界面) 一.在上一篇文章中,主要说的就是把主框架搭建起来,并且Nhibernate能达到增 ...
- iOS 应用测试最佳实践
IOS改变了移动游戏,毫无疑问.它为“移动时代”铺平了道路,通过简单的用户体验提供惊人的功能.然而涉及到测试与监控,使用iPhone/iPad移动应用程序是除了简单之外的任何事情. 随着IOS应用市场 ...
- 飘逸的python - zlib压缩存到数据库
当每天有大量的数据存到kv数据库中去,且value数据很大,于是想压缩后再存进去. 之前提到了 gzip压缩,为什么不直接用gzip呢. 其实更确切的说gzip是一种文件格式,它压缩成gzip文件,而 ...
- 关于JdbcTemplate的queryForList返回值
通过spring的jdbctemplate返回的list其实封装的是需要通过如下方法得到里面的内容的 public void getAllUsers() { List allUsers = new A ...
- ASP.NET发送电子邮件源码示例
using System.Collections.Generic; using System.Text; using System.Net; using System.Net.Mail; try { ...