相关文章推荐
憨厚的可乐  ·  BEA WORKSHOP 中的 AJAX 编程·  3 周前    · 
刚毅的鼠标  ·  已经写好了click函数怎么在jsp页面上调 ...·  3 周前    · 
火星上的火腿肠  ·  “煤电碳油”绿色交响曲_克拉玛依市人民政府·  10 月前    · 
活泼的高山  ·  沈阳地铁2号线南延线及4号线9月底前试运行·  11 月前    · 
英勇无比的火腿肠  ·  编译OpenCV时出错,致命错误: ...·  1 年前    · 
小胡子的蛋挞  ·  QTablewidget ...·  1 年前    · 
低调的回锅肉  ·  福建省发展和改革委员会关于印发《福建省普通高 ...·  1 年前    · 
Code  ›  jQuery中的ajax处理json三种方法开发者社区
jquery context ajax
https://cloud.tencent.com/developer/article/1603870
冲动的火车
2 年前
作者头像
静心物语313
0 篇文章

jQuery中的ajax处理json三种方法

前往专栏
腾讯云
开发者社区
文档 意见反馈 控制台
首页
学习
活动
专区
工具
TVP
文章/答案/技术大牛
发布
首页
学习
活动
专区
工具
TVP
返回腾讯云官网
社区首页 > 专栏 > 静心物语313的Coding > jQuery中的ajax处理json三种方法

jQuery中的ajax处理json三种方法

作者头像
静心物语313
发布 于 2020-03-24 16:43:55
1.8K 0
发布 于 2020-03-24 16:43:55
举报

使用jQuery对Ajax的封装 (主要是更安全,更方便)

  • jQuery封装简化了Ajax,有$.get、$.post 等不同的效果的方法。
  • 缺点:(看不到获得失败的消息);

这里推荐使用$.Ajax( )

主要是这个可以看到请求失败的消息。

 $.ajax({
            type: "post", url: "Ajax1.ashx",
            data: { i1: $("#txt1").val(), i2: $("#txt2").val() },
            success: function (data, txtStatus) {alert(data);},
            error: function () { alert("错误"); }
        });
  • Ajax方法的参数就是一个字典,最好设定 post 提交方式,
  • data 是提交到服务器的报文体。
  • success为请求成功的处理事件。
  • error为请求通讯失败的处理事件(服务器错误500,404错误 等)

介绍三种Ajax对Json的处理方法

第一种:比较麻烦的,不推荐使用的

  $(function () {
        $.ajax({
            type:"post",url:"jQueryAjaxTest.ashx",
            data:{i1:10,i2:30},            
            success: function (resTxt) {
                //alert(resTxt);
                var nums=$.parseJSON(resTxt);//json字符串转化为javascript对象  (不建议用这个,这个太麻烦!)
                for (var i = 0; i < nums.length; i++) {
                    alert(nums[i]);
            error:function(){
                alert("ajax出错!");
    });

#### 以上这种使用的$.parseJson()把字符串解析为JavaScript对象,但是比eval()更安全 ####

后边的两种是以后经常使用的方式

第二种:Ajax请求中设定dataType: "json"

    $(function () {
        $.ajax({
            type: "post", url: "jQueryAjaxTest.ashx",
            dataType:"json",    //这里从服务器中拿到的json字符串,通过这一语句设置后,就是间接地通过了paseJson()方法来变成了javascript对象
            data: { i1: 10, i2: 30 },
            success: function (resTxt) {
                for (var i = 0; i < resTxt.length; i++) {
                    alert(resTxt[i]);
            error: function () {
                alert("ajax出错!");
    }); 

这样处理后,success中的第一个参数就是,javascript对象了。不需要手动解析(其实是间接地已经调用过了$.parsejson了)

第三种:在ajax请求的ashx文件设置:ContentType为"application/json"

   //第三种方法是在ashx文件中,修改报文头。。context.Response.ContentType = "application/json";
    $(function () {         
        $.ajax({
            type: "post", url: "jQueryAjaxTest.ashx",
            data: { i1: 10, i2: 30 },
            success: function (resTxt) {
                for (var i = 0; i < resTxt.length; i++) {
                    alert(resTxt[i]);
            error: function () {
                alert("ajax出错!");
    */

这样处理后,success中的第一个参数就是,javascript对象了。不需要手动解析(其实是间接地已经调用过了$.parsejson了)

ashx文件

    public void ProcessRequest (HttpContext context) {
    context.Response.ContentType = "text/plain";
    //context.Response.ContentType = "application/json";
    //做一个加法的运算
    //int i1 = Convert.ToInt32(context.Request["i1"]);
    //int i2 = Convert.ToInt32(context.Request["i2"]);
    //context.Response.Write(i1+i2);
 
推荐文章
憨厚的可乐  ·  BEA WORKSHOP 中的 AJAX 编程
3 周前
刚毅的鼠标  ·  已经写好了click函数怎么在jsp页面上调用_Java-CSDN问答
3 周前
火星上的火腿肠  ·  “煤电碳油”绿色交响曲_克拉玛依市人民政府
10 月前
活泼的高山  ·  沈阳地铁2号线南延线及4号线9月底前试运行
11 月前
英勇无比的火腿肠  ·  编译OpenCV时出错,致命错误: stdlib.h:没有这样的文件或目录-腾讯云开发者社区-腾讯云
1 年前
小胡子的蛋挞  ·  QTablewidget 排序列表错乱_qt中tablewidget怎么取消排序-CSDN博客
1 年前
低调的回锅肉  ·  福建省发展和改革委员会关于印发《福建省普通高中学费定价成本监审办法》的通知 _ 本委规范性文件 _ 省发
1 年前
今天看啥   ·   Py中国   ·   codingpro   ·   小百科   ·   link之家   ·   卧龙AI搜索
删除内容请联系邮箱 2879853325@qq.com
Code - 代码工具平台
© 2024 ~ 沪ICP备11025650号