一个AJAX的请求。讲诉Json的使用示例

页面导航:首页 > 网络编程 > JavaScript > 一个AJAX的请求。讲诉Json的使用示例

一个AJAX的请求。讲诉Json的使用示例

来源: 作者: 时间:2016-02-05 11:06 【

mvc使用JsonResult返回Json数据 using System;using System Collections Generic;using System Linq;using System Web;using System Web Mvc;using System Configuration;using System Data S

mvc使用JsonResult返回Json数据


<控制器>

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Configuration;
using System.Data.SqlClient;
using System.Data;
using JSON.Models;

namespace JSON.Controllers
{
    public class HomeController : Controller
    {

        public ActionResult Index()
        {
            return View();
        }

        /// 
        /// 获取年龄
        /// 
        /// 
        /// 返回一个字符串
        public ActionResult GetAge(string username)
        {
            var age = "";
            if (!string.IsNullOrWhiteSpace(username))
            {
                string sql = "select Age from t_user where [email protected]";
                age = (SqlHelper.ExecuteScalar(sql, new SqlParameter("username", username))).ToString();
            }
            return Content(age); 

        }
        /// 
        /// 获取姓名
        /// 
        /// 
        /// 方法放回一个Table表的Json对象
        public ActionResult GetName(int id)
        {
            string sql = "select * from t_user where [email protected]";
            DataTable dt=SqlHelper.ExecuteDataTable(sql,new SqlParameter("id",id));
            var data = DataTableToJson.ToJson(dt); //调用DataTableToJson类的ToJson方法,将dt这边表转换成Json格式
            //Type type= data.GetType(); 通过type调试得知data其实就是一个string类型。

            return new JsonResult  //返回一个JsonResult对象
            {
                Data = new { MyData = data },//将这个Json格式的字符串data 赋值给 JsonResult对象的MyData属性(这个属性名字可以自己随便定的)
                JsonRequestBehavior = JsonRequestBehavior.AllowGet //允许来自客户端的http get请求
            };
        }

    }
}

<视图>

<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage" %>




    
    Index
    <script src="../../Scripts/jquery-1.7.1.min.js" type="text/javascript"></script>


    
<script type="text/javascript"> $.ajax({ url: "/Home/GetAge", type: "get", //async: true, dataType: "json", data: { username: "周晶" }, success: function (ajaxData) { $("#div1").text(ajaxData); } }); </script> <script type="text/javascript"> $(function () { $("#btnClick").click(function () { $.ajax({ url: "/Home/GetName", dataType: "json", type: "get", data: { id: "1" }, success: function (Dbdata) { //debugger; 如果你要调试的话,就在这里写上debugger执行的时候就会跳到这里来了。然后按F10往下执行 //console.log('Dbdata', Dbdata); //在控制台输出日志 var str = Dbdata.MyData; //获取key为MyData的这个Json字符串 //console.log('str', str); var obj = eval('(' + str + ')'); //将str这个Json格式的字符串转换成对象 //console.log('obj', obj); //alert('username: ' + obj.UserName); $("#div2").text(obj.UserName); } }) }) }) </script>

SQLHelper
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Configuration;
using System.Data.SqlClient;
using System.Data;
using System.Reflection;

namespace JSON.Controllers
{
    public class SqlHelper
    {
        /// 
        /// 获取连接字符串
        /// 
        private static string connStr = ConfigurationManager.ConnectionStrings["ConnStr"].ConnectionString;

        /// 
        /// 执行查询,并将查询的结果以DataTable的形式返回
        /// 
        /// 要执行的sql语句
        /// sql语句的参数
        /// 返回值是一个DataTable
        public static DataTable ExecuteDataTable(string sql, params SqlParameter[] parameters)
        {
            using (SqlConnection conn = new SqlConnection(connStr))
            {
                conn.Open();
                //换一种写法,与上面的几种写法稍稍有点不同
                using (SqlCommand cmd = new SqlCommand(sql, conn))
                {
                    cmd.Parameters.AddRange(parameters);
                    DataTable dt = new DataTable();
                    using (SqlDataAdapter adapter = new SqlDataAdapter(cmd))
                    {
                        adapter.Fill(dt);
                        return dt;
                    }

                }
            }
        }

}


Tags:

文章评论

最 近 更 新
热 点 排 行
Js与CSS工具
代码转换工具

<