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

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

  视图的部分代码如下:

1
2
3
4
5
6
7
8
9
<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实现)

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

 1 <script src="../../Scripts/jquery-1.7.1.min.js" type="text/javascript"></script>
 2 <script src="../../Scripts/ajax.js" type="text/javascript"></script>
 3 <script src="../../Scripts/common.js" type="text/javascript"></script>
 4
 5 <script language="javascript" type="text/javascript">
 6    //请求数字
 7   function requestNumber() {
 8        ajax("POST","/Home/Get_Number", function (resText) {
 9           //直接接收Ajax请求返回的内容
10           var text = resText;
11           $("number").innerHTML = text;
12        });
13   }
14 </script>

后台服务器代码:

1 //ajax请求的action方法
2 public void Get_Number()
3 {
4     int num =10;
5     Response.Write(num);
6     return;
7 }

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

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

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

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

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

后台服务器代码:

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

运行结果:


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

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

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

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

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

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

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

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

  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. 常见sql语句及复杂sql语句记录

    1 将A表中的部分字段和B表中的部分字段作为C表的字段 SELECT a.name,b.age   FROM  (SELECT * from A) as a,(SELECT * from B) as ...

  2. JAVA 相关资料

    在技术方面无论我们怎么学习,总感觉需要提升自已不知道自己处于什么水平了.但如果有清晰的指示图供参考还是非常不错的,这样我们清楚的知道我们大概处于那个阶段和水平. Java程序员 高级特性 反射.泛型. ...

  3. 完美解决 未能打开编辑器:Unmatched braces in the pattern.

    Eclipse出现这个问题而不能查看源代码 原因就是语言包的问题 出现这个问题了 一定是安装了中文或者多国语言包 下面我就来交大家解决的办法 超简单的 第一步 配置自己Eclipse的启动参数 ecl ...

  4. Android更新UI的两种方法——handler与runOnUiThread()

    在Android开发过程中,常需要更新界面的UI.而更新UI是要主线程来更新的,即UI线程更新.如果在主线线程之外的线程中直接更新页面 显示常会报错.抛出异常:android.view.ViewRoo ...

  5. 用原生js实现一个页面乘法口诀表

    今天我自己用js实现了一个页面乘法口诀表(如图)来共享给大家,做的不是很好,如果大家有新的想法可以跟我交流哦. 代码如下: <!doctype html><html lang=&qu ...

  6. 月薪10K必备--C#下拉框联动

                   下拉框联动 很多网站上都用到下拉框联动,就是第一个下拉框没有选择任何项,第二个下拉框就没有选项.这样的做法更加谨慎,更加紧密. 下面我就教大家怎么做下拉框联动: 首先在窗 ...

  7. View.setTag()的作用

    //这个东西在一些需要用到Adapter自定控件显示方式的时候非常有用 //Adapter 有个getView方法,可以使用setTag把查找的view缓存起来方便多次重用 public View g ...

  8. django添加静态文件

    最近做了一个todolist webapp,需要稍微添加css时候又忘记django的添加方法了,查看了以前的项目才想起来,所以记录一下. 1.settings.py 将以下代码放到最下面 STATI ...

  9. yum命令学习

    yum配置文件 /etc/yum.conf yum check-update检查一下有无更新 每天都要(设置定时任务todo) 1.列出所有可更新的软件清单---yum check-update 2. ...

  10. opencart 百度登录和百度钱包支付插件 响应式适应pc/mobile

    OpenCart(http://www.opencart.com/,http://www.opencartchina.com/)是国外著名的开源电子商务系统, 优势在于前台界面的设计非常适合欧美购物者 ...