C# Ajax 返回json数据--前后台交互

Posted 果冻栋吖

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# Ajax 返回json数据--前后台交互相关的知识,希望对你有一定的参考价值。

 

本人实习生一枚,遇到这个问题,网上找的试了试基本不可以,自己搞了一下。可以供新手参考,大神如有指点,请不吝赐教。

版权声明:本文为博主原创文章,未经博主允许不得转载。

 


 

前台javascript代码:

 

 1     <script>
 2         function checkLogin() {
 3             var name = $("#name").val();
 4             var passward = $("#password").val();
 5             console.log(name);
 6             console.log(passward);
 7             $.ajax({
 8                 url: \'index.aspx?method=login\',
 9                 type: \'GET\',
10                 data: { "name": name, "passward": passward },
11                 dataType: \'json\',
12                 success: function (dataInfo) {
13                     if (dataInfo.status) {
14                         console.log(dataInfo.data);
15                         //前台接收到的数据中data是字符串,需要转换为JSON对象
16                         var jsondata = JSON.parse(dataInfo.data);
17                         alert("登陆成功,用户名是:"+jsondata.name+"   性别是:"+jsondata.sex+"   年龄是:"+jsondata.age);
18                     } else {
19                         alert("登陆失败");
20                     }
21                 },
22                 async: false
23             });
24 
25         }
26     </script>

 

当然了数据获取成功之后,怎么处理自己写就好了,这里只是示范一下。

前台html代码:

 

1     <form id="form1" runat="server">
2     <div>
3     <input id="name" type="text" />
4     <input id="password" type="password" />
5     <button onclick="checkLogin()" value="">提交</button>
6     </div>
7     </form>

 

后台CS代码:

 

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Web;
 5 using System.Web.UI;
 6 using System.Web.UI.WebControls;
 7 using Newtonsoft.Json;
 8 using System.Runtime.Serialization;
 9 
10 namespace WebTest
11 {
12     public partial class index : System.Web.UI.Page
13     {
14         protected void Page_Load(object sender, EventArgs e)
15         {
16             string method = Request.QueryString["method"];
17             string name = Request.QueryString["name"];
18             string passward = Request.QueryString["passward"];
19             if (!string.IsNullOrEmpty(method))
20             {
21                 if (method == "login")
22                 {
23                     GetLogin(name, passward);
24                 }
25             }
26 
27         }
28         private void GetLogin(string name, string passward)
29         {
30             
31             CommonModel msg = new CommonModel();
32             //这里有没有登陆成功可以连接数据库判断
33             if (name == "admin" && passward == "admin")
34             {
35                 //这里是可以从数据库获取出来的登陆用户的信息
36                 var jsonData = "{ \\"name\\":\\"管理员\\", \\"sex\\":\\"男\\", \\"age\\":\\"20\\"}";
37 
38                 msg.status = true;
39                 msg.msg = "登陆成功";
40                 msg.data = jsonData;
41             }
42             else
43             {
44                 msg.status = false;
45                 msg.msg = "失败";
46             }
47             object JSONObj = JsonConvert.SerializeObject(msg);
48             Response.Write(JSONObj);
49             //一定要加,不然前端接收失败
50             Response.End();
51         }
52     }
53     class CommonModel
54     {
55         //状态
56         private bool _statues;
57 
58         public bool status
59         {
60             get { return _statues; }
61             set { _statues = value; }
62         }
63         //消息
64         private string _msg;
65 
66         public string msg
67         {
68             get { return _msg; }
69             set { _msg = value; }
70         }
71         //数据
72         private object _data;
73 
74         public object data
75         {
76             get { return _data; }
77             set { _data = value; }
78         }
79     }
80 }

 

 

 

 

 

效果图

 

以上是关于C# Ajax 返回json数据--前后台交互的主要内容,如果未能解决你的问题,请参考以下文章

Javascript 中ajax实现前台向后台交互

基于Ajax技术的前后端Json数据交互方式实现

使用Ajax与后台接口Api交互(以登陆功能为例)

json_encode返回的数据怎么接收

前端与后端有哪几种ajax交互方法

使用springmvc和ajax进行前后端交互的简单实例