前面已经封装好了一个方法ajax(),通过这个方法可以实现Ajax请求,接下来就是给出

例程来测试这个方法和实现简单的功能。

  视图的部分代码如下:

<body>
<div>
the Numger is : <br /><label id="number"> </label> <br />
the Students' Infomation:<br /><label id="studentInfo"> </label> <br />
<input type="button" value="请求数字(ajax请求)" onclick='requestNumber()'/>
<label>  </label>
<input type="button" value="请求学生信息(json请求)" onclick="requestStudentInfo()" />
</div>
</body>

功能一:浏览器向服务器请求一个数字(通过ajax实现)

视图代码中添加脚本代码:

 <script src="../../Scripts/jquery-1.7.1.min.js" type="text/javascript"></script>
<script src="../../Scripts/ajax.js" type="text/javascript"></script>
<script src="../../Scripts/common.js" type="text/javascript"></script> <script language="javascript" type="text/javascript">
//请求数字
function requestNumber() {
ajax("POST","/Home/Get_Number", function (resText) {
//直接接收Ajax请求返回的内容
var text = resText;
$("number").innerHTML = text;
});
}
14 </script>

后台服务器代码:

 //ajax请求的action方法
public void Get_Number()
{
int num =;
Response.Write(num);
return;
}

功能二:浏览器向服务器请求一个学生的信息(通过Json实现)

视图代码中添加脚本代码:

 //请求学生信息
function requestStudentInfo() {
ajax("POST","/Home/Get_Student", function (resText) {
//将序列化的字符串内容进行解析,得到Js对象
var student = JSON.parse(resText);
var text="";
text += "学号:" + student.StuId + "<br />";
text += "姓名:" + student.Name + "<br />";
text += "性别:" + student.Gender + "<br />";
text += "年龄:" + student.Age + "<br />" $("studentInfo").innerHTML = text;
});
}

代码中使用到了一个方法JSON.parse(),该方法是将返回的序列化字符串解析成一个对象或者对象集合,
因此需要添加js库--json2.js,如下:

<script src="../../Scripts/json2.js" type="text/javascript"></script>

后台服务器代码:

 //json请求的action方法
public JsonResult Get_Student()
{
Student student = new Student(, "张三","男",);
return Json(student); //Json()方法将一个对象或者对象集合进行序列化
}

运行结果:


总结:通过封装好的ajax()方法实现了向服务器请求一个数字和一个学生信息对象的功能,

ajax请求和json请求没有本质上的区别,两者都是通过ajax()方法来发送XMLHttpRequest

请求,只是ajax请求就直接接收返回的数据就可以了,而json请求需要将接收到的序列化字

符串解析成JS对象或者对象集合(反序列化),同时也要求服务器端将对象或者对象集合序列化

成字符串进行发送(序列化)。

实现基本的Ajax和Json请求的更多相关文章

  1. 转-----实现基本的Ajax和Json请求

    前面已经封装好了一个方法ajax(),通过这个方法可以实现Ajax请求,接下来就是给出 例程来测试这个方法和实现简单的功能.   视图的部分代码如下: 1 2 3 4 5 6 7 8 9 <bo ...

  2. 自用ajax的json请求

    function singlePriceSubmit(){ var json={}; json["area"]=areaStr1; json["goodCateIdStr ...

  3. servlet 中处理 json 请求,并访问 service 类,返回处理结果

    前言:jar 包中的 servlet 必须可以处理前端发出的 ajax 请求,接收参数,并返回结果. github地址:yuleGH github 这里有个约定,url 地址是 .json 结尾的,如 ...

  4. AJAX 中JSON 和JSONP 的区别 以及请求原理

    AJAX 跨域请求 - JSONP获取JSON数据 博客分类: Javascript /Jquery / Bootstrap / Web   Asynchronous JavaScript and X ...

  5. Jquery DataTable AJAX跨域请求的解决方法及SSM框架下服务器端返回JSON格式数据的解决方法

    如题,用HBuilder开发APP,涉及到用AJAX跨域请求后台数据,刚接触,费了不少时间.幸得高手指点,得以解决. APP需要用TABLE来显示数据,因此采用了JQ 的DataTable.  在实现 ...

  6. jQuery:多个AJAX/JSON请求对应单个回调

    原文链接:jQuery: Multiple AJAX and JSON Requests, One Callback 原文日期: 2014年4月15日 翻译日期: 2014年4月22日 翻译人员: 铁 ...

  7. Ajax跨域之ContentType为application/json请求失败的问题

    项目里的接口都是用springmvc写的,其中在@requestmapping接口中定义了consumes="application/json",也就是该接口只接受ContentT ...

  8. AJAX跨域请求json数据的实现方法

    这篇文章介绍了AJAX跨域请求json数据的实现方法,有需要的朋友可以参考一下 我们都知道,AJAX的一大限制是不允许跨域请求. 不过通过使用JSONP来实现.JSONP是一种通过脚本标记注入的方式, ...

  9. jQuery 发送 ajax json 请求。。

    $.extend({ postJson: function (data) { data = data || {} $.ajax({ type: "POST", url: data. ...

随机推荐

  1. 怎样在QML应用中创建一个Context Menu

    我们在非常多的系统中看见能够在屏幕的一个地方长按,然后就能够依据当前显示的上下文弹出一个菜单. 菜单中能够有一些选项,比方删除,改动该项.这样的一般在ListView或GridView中常见.今天,我 ...

  2. mysql 约束条件 auto_increment 自动增长

    约束字段为自动增长,被约束的字段必须同时被key约束 id自动增长,每插入一条记录,自动增长 创建一张表 t20 id 字段设置为 不为空 唯一 自动增长 mysql)); Query OK, row ...

  3. RE合同记账会计凭证

    *&---------------------------------------------------------------------* *& Title : 不动产转租合同自 ...

  4. Python(线程进程2)

    新进程的创建都是由一个已经存在的进程执行了一个用于创建进程的系统调用而创建的: 1. 在UNIX中该系统调用是:fork,fork会创建一个与父进程一模一样的副本,二者有相同的存储映像.同样的环境字符 ...

  5. mysql数据库从删库到跑路之select单表查询

    一 介绍 本节内容: 查询语法 关键字的执行优先级 简单查询 单条件查询:WHERE 分组查询:GROUP BY HAVING 查询排序:ORDER BY 限制查询的记录数:LIMIT 使用聚合函数查 ...

  6. 安装memcached扩展

    1.wget http://pecl.php.net/package/memcache  下载相对应的扩展包 2. tar -zxvf memcache-2.2.7.tgz 3.  cd memcac ...

  7. oracle 11g怎样配置才能连接远程数据库

      打开所有程序->找到oracle-oradb11g-home1->Net Configuration Assistant,如图所示    选择本地网络服务名配置,点击下一步   选择添 ...

  8. mac/linux查询网络端口占用

    参考:http://www.cnblogs.com/kaiye/archive/2013/05/25/3099393.html netstat命令 netstat -an|grep 8080 lsof ...

  9. Nginx 部署HTTPS

    Nginx 部署HTTPS 系统:Linux Centos 7.4 x64 软件:Nginx 1.12.2 注:需要阿里云申请本地域名与证书并添加下载到本地. 注:证书文件为 xxxx.pem 与 x ...

  10. MVC 中的家常事

    对于@后面变量加上括号解决异意的方法 例如: hello@User.Name 会误判为电子邮箱,解决办法是括号,即hello@(User.Name) 使用@Html.Raw()输出后台到.cshtml ...