zoukankan      html  css  js  c++  java
  • asp.net jquery ajax处理json数据

    纠结了一上午的问题。。。。。把网上的东西整理一下。

    asp.net 使用jquery ajax异步加载json数据有两种实现方式,

     var obj = {
                           name:"战士",
                           age:"100"
                        }

    一、dataType为"text",使用eval解析成json

    $.ajax({
                    type: "post",
                    url: url,//返回json数据的地址
                    dataType: "text",
                    success: function (msg) {

                                            var d = eval("(" + msg + ")");
                        alert(d.name);//返回值  战士
                  }    

    })
    二、dataType为json

    $.ajax({
                    type: "post",
                    url: url,//返回json数据的地址
                    dataType: "json",
                    success: function (msg) {

                          alert(msg.name);//返回值  战士
                  }    

    })

    对于第二种方式返回的json数据格式必须为

     var obj = {
                           “name”:"战士",
                           "age":"100"
                        }

    json格式的数据都必须加引号这个引号才是我真正纠结一上午的问题。

    同样这种格式的json也适用于第一种方式,所以建议大家以后写json数据时,养成加"引号"的习惯吧。

     对于为什么必须加引号网上有这样一段话,也不清楚是不是真的。

    不加引号的写法在js脚本和jquery 1.4之前的版本都是没有问题的。因为在1.3及更早版本中,jQuery通过javascript的eval方法来解析json对象。在1.4中,jQuery使用了更严格的方法来解析json。所有的内容都必须使用双引号。

    我没具体看jquery代码,所以不清楚是否正确。

    备注:

    服务器返回json数据时

    Response.ContentType = "text/plain";

    这句代码不指定同样可以成功加载json数据,json数据可看成txt文本文件。

  • 相关阅读:
    python 四舍五入
    Elasticsearch 入门
    Mac下ElasticSearch安装、Kibana
    Mysql 终端中文显示乱码
    Zookeeper 在 Kafka 中的作用
    mac 安装Kafka
    Creating a NuGet Package in 7 easy steps
    Updating and Publishing a NuGet Package
    ASP.NET Core 发布
    An entry point cannot be marked with the 'async' modifier
  • 原文地址:https://www.cnblogs.com/tlbxygw/p/2484901.html
Copyright © 2011-2022 走看看