原生ajax 以及newtonjson 生成的json字符串转json格式

 
     
 1     

 


    

 


 function checkuser() {

            var name = document.getElementById("user");

            var xhr = createXmlHttpRequest();

            xhr.open("GET", "About.aspx?name=激动女", true);//GET
          //异步需加上  xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");//识别中文编码。
            
            //状态改变触发。
            xhr.onreadystatechange = function () {
                //                0 代表未初始化。 还没有调用 open 方法
                //                1 代表正在加载。 open 方法已被调用,但 send 方法还没有被调用
                //                2 代表已加载完毕。send 已被调用。请求已经开始
                //                3 代表交互中。服务器正在发送响应
                //                4 代表完成。响应发送完毕

                if (xhr.readyState == 4) {
                    //状态200表示异步对象已经完全接收完服务器响应的数据
                    //                    if (xhr.status == 200||xhr.status==403) {
                    //                        var res = xhr.responseText+"";
                    alert(xhr.status + "   " + xhr.readyState);
                    var ss = xhr.responseText;

                    var x = JSON.parse(ss); //字符串转json var obj = eval('(' + str + ')'); var obj = str.parseJSON();

                    alert(x.Age);
                    //   }
                }
            }
            //发送异步请求(Post方式发送请求在send里面书写自己要发送给服务器的参数)
            //POST请求此处传值 xhr.send("name=chenjd");
            xhr.send(null);
        }

        function createXmlHttpRequest(){
            var xmlhttp = null;
            try{
                //Firefox, Opera 8.0+, Safari
                   xmlhttp=new XMLHttpRequest();
            }
            catch(e){//IEIE7.0以下的浏览器以ActiveX组件的方式来创建XMLHttpRequest对象
                var MSXML = 
                ['MSXML2.XMLHTTP.6.0','MSXML2.XMLHTTP.5.0',
                'MSXML2.XMLHTTP.4.0','MSXML2.XMLHTTP.3.0',
                'MSXML2.XMLHTTP','Microsoft.XMLHTTP'];
                for(var n = 0; n < MSXML.length; n ++){
                    try{
                          xmlhttp = new ActiveXObject(MSXML[n]);
                          break;
                    }
                    catch(e){
                    }
                }
            }
            return xmlhttp;
        }
 
     

1.各种版本的xmlHttpRequest获取。

2.GET、POST 方式传参。

 

 


public partial class About : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        string test = Request.QueryString["name"].ToString();

        Person p = new Person() { Age = 22, Birthdate = DateTime.Now, Name = "test" };

        string s= Newtonsoft.Json.JsonConvert.SerializeObject(p);

        Person p2= (Person)Newtonsoft.Json.JsonConvert.DeserializeObject(s,typeof(Person));
        Response.Write(s);
        Response.End();
    }


}


public class Person
{
    private string name;

    public string Name
    {
        get { return name; }
        set { name = value; }
    }

    private int age;

    public int Age
    {
        get { return age; }
        set { age = value; }
    }

    private DateTime birthdate;

    public DateTime Birthdate
    {
        get { return birthdate; }
        set { birthdate = value; }
} }

 


    protected void Page_Load(object sender, EventArgs e)
    {
        string test = Request.QueryString["name"].ToString();

        Person p = new Person() { Age = 22, Birthdate = DateTime.Now, Name = "Chenjd" };

        string s= Newtonsoft.Json.JsonConvert.SerializeObject(p);


        Person p2= (Person)Newtonsoft.Json.JsonConvert.DeserializeObject(s,typeof(Person));
        Response.Write(s);
        Response.End();
    }

1..cs文件测试代码。

2.newtonjson 序列化和反序列化代码。

 1  function checkuser() {
 2 
 3             var name = document.getElementById("user");
 4 
 5             var xhr = createXmlHttpRequest();
 6 
 7             xhr.open("GET", "About.aspx?name=激动女", true);//GET
 8           //异步需加上  xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");//识别中文编码。
 9             
10             //状态改变触发。
11             xhr.onreadystatechange = function () {
12                 //                0 代表未初始化。 还没有调用 open 方法
13                 //                1 代表正在加载。 open 方法已被调用,但 send 方法还没有被调用
14                 //                2 代表已加载完毕。send 已被调用。请求已经开始
15                 //                3 代表交互中。服务器正在发送响应
16                 //                4 代表完成。响应发送完毕
17 
18                 if (xhr.readyState == 4) {
19                     //状态200表示异步对象已经完全接收完服务器响应的数据
20                     //                    if (xhr.status == 200||xhr.status==403) {
21                     //                        var res = xhr.responseText+"";
22                     alert(xhr.status + "   " + xhr.readyState);
23                     var ss = xhr.responseText;
24 
25                     var x = JSON.parse(ss); //字符串转json var obj = eval('(' + str + ')'); var obj = str.parseJSON();
26 
27                     alert(x.Age);
28                     //   }
29                 }
30             }
31             //发送异步请求(Post方式发送请求在send里面书写自己要发送给服务器的参数)
32             //POST请求此处传值 xhr.send("name=chenjd");
33             xhr.send(null);
34         }
35 
36         function createXmlHttpRequest(){
37             var xmlhttp = null;
38             try{
39                 //Firefox, Opera 8.0+, Safari
40                    xmlhttp=new XMLHttpRequest();
41             }
42             catch(e){//IEIE7.0以下的浏览器以ActiveX组件的方式来创建XMLHttpRequest对象
43                 var MSXML = 
44                 ['MSXML2.XMLHTTP.6.0','MSXML2.XMLHTTP.5.0',
45                 'MSXML2.XMLHTTP.4.0','MSXML2.XMLHTTP.3.0',
46                 'MSXML2.XMLHTTP','Microsoft.XMLHTTP'];
47                 for(var n = 0; n < MSXML.length; n ++){
48                     try{
49                           xmlhttp = new ActiveXObject(MSXML[n]);
50                           break;
51                     }
52                     catch(e){
53                     }
54                 }
55             }
56             return xmlhttp;
57         }

转载于:https://www.cnblogs.com/shmily-shenwoo/archive/2012/06/15/2550880.html

你可能感兴趣的:(json,javascript,ui,ViewUI)