GVKun编程网logo

ajax获取json数据然后将其装载到jqgrid实现(ajax获取json数据并显示)

6

对于想了解ajax获取json数据然后将其装载到jqgrid实现的读者,本文将提供新的信息,我们将详细介绍ajax获取json数据并显示,并且为您提供关于AJAXMVC服务器返回Json数据,客户端获

对于想了解ajax获取json数据然后将其装载到jqgrid实现的读者,本文将提供新的信息,我们将详细介绍ajax获取json数据并显示,并且为您提供关于AJAX MVC 服务器返回Json数据,客户端获取Json数据、ajax获取json数据、ajax获取json数据为undefined原因分析、ajax获取json数据为undefined原因分析_AJAX相关的有价值信息。

本文目录一览:

ajax获取json数据然后将其装载到jqgrid实现(ajax获取json数据并显示)

ajax获取json数据然后将其装载到jqgrid实现(ajax获取json数据并显示)

1. 通过ajax同步获取json数据


2. 本地装载jqgrid数据

$("#grid").jqgrid({

datatype: "local",

data : mydata,Hei; font-size:14px"> colNames: ["ID","用户名","上次登录时间","状态","操作"],Hei; font-size:14px"> colModel: [

{ name: "ID",index: "ID",hidden: true,align: "center" },Hei; font-size:14px"> { name: "username",index: "username",width: 180,align:"center"},Hei; font-size:14px"> { name: "loginTime",index: "loginTime",width: 300,align:"center" },Hei; font-size:14px"> { name: "state",index: "state",Hei; font-size:14px"> { name: "cz",index: "cz",width: 360,align:"center" }

],Hei; font-size:14px"> onSelectRow: function (i,selected) {

},Hei; font-size:14px"> gridComplete: function(){

var ids = jQuery("#grid").jqgrid('getDataIDs');

for(var i in ids){

var cl = ids[i];

a = "<a title='编辑' href='<%=projectName %>/Web/login/dologout.action' ><img src='../common/images/edit.png' alt='编辑'border='0'></a>";

// se = "<inputtype='button' value='S' onclick="jQuery('#grid').saveRow('"+cl+"');" />";

jQuery("#grid").jqgrid('setRowData',ids[i],{cz:a});

}

},Hei; font-size:14px"> height: 300,Hei; font-size:14px"> // altRows:true,Hei; font-size:14px"> // pgbuttons: true,Hei; font-size:14px"> // pginput:true,Hei; font-size:14px"> //autowidth:true,Hei; font-size:14px"> // pager: "#pager",Hei; font-size:14px"> // rowNum: 10,Hei; font-size:14px"> // multiselect: true,Hei; font-size:14px"> // prmNames: { rows: "pageSize",page: "page" },Hei; font-size:14px"> // rowList: [10,20,30],Hei; font-size:14px"> // viewrecoders: true,Hei; font-size:14px"> caption: "系统用户信息"

});

3. action部分代码

List<Xtuser> xtusers = (List<Xtuser>)loginInfoDao.findByHql(" from Xtuser xtuser",null,0);

//将List转化为JSON

JSONArray json=JSONArray.fromObject(xtusers);

//设置编码,防止乱码

response.setCharacterEncoding("utf-8");

PrintWriter out;

try {

out = response.getWriter();

out.write(json.toString());

} catch (IOException ex) {

ex.printstacktrace();

}

附:本地装载数据后实现分页效果(这里无需显示总条数,适合于我。)

height: 'auto',Hei; font-size:14px"> pager: "#pager",Hei; font-size:14px"> rowNum: 10,Hei; font-size:14px"> prmNames: { rows: "pageSize",Hei; font-size:14px"> rowList: [10,Hei; font-size:14px"> 勿忘显示分页的div:<div id="pager" ></div> 。

注意:从后台返回的json数据中如果有id,则将会覆盖jqgrid每行数据的id:

<TR id=3role=row tabIndex=-1></TR>

建议,自定义类中不要出现id属性.




http://blog.sciencenet.cn/blog-448935-804589.html

AJAX MVC 服务器返回Json数据,客户端获取Json数据

AJAX MVC 服务器返回Json数据,客户端获取Json数据

<>

控制器 Controller

using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using System.Web.Script.Serialization; namespace MvcApplication2.Controllers { public class HomeController : Controller { public ActionResult Index() { return View(); } //---------------------------------第一种写法:服务器返回一个Json对象 public ActionResult GetData1() { JsonResult json = new JsonResult(); json.JsonRequestBehavior = JsonRequestBehavior.AllowGet; //允许来自客户端的HTML GET请求 json.Data = new { code = 0,message = "成功" }; return json; //这里直接返回一个json对象给客户端,客户端通过ajax的请求后,获得的直接就是一个json对象,不需要再用$.parseJSON(data)这个方式将字符串转换成Json对象了,因为取到的本身就是一个json对象,而不是一个字符串。 } //---------------------------------第二种写法:服务器返回一个Json对象 public ActionResult GetData2() { //其实调用的是JsonResult类下的这个方法:protected internal JsonResult Json(object data); //注意:Json()是一个方法,参数是一个object类型的对象,返回值是JsonResult类型 return Json(new { code = 0,message = "ON" }); //通过测试:采用这种形式,客户端只能通过异步的Post请求才能取到数据,如果异步Get请求,无法获取数据 } //---------------------------------第三种写法:服务器返回一个Json格式的字符串 public ActionResult GetData3() { JavaScriptSerializer json = new JavaScriptSerializer(); var jsonObj = new { code = 1,message = "OK" }; //构造一个对象 string jsonStr = json.Serialize(jsonObj); //将这个对象转换成json格式的字符串 return Content(jsonStr); //返回一个json格式的字符串。 所以客户端通过ajax请求后,获得的这个数据仅仅是一个json格式的字符串,所以需要用$.parseJSON(data)这个方式将字符串转换成Json对象 } } }

视图 View

<html> <head> <Meta name="viewport" content="width=device-width" /> <title>Index</title> <script src="~/jquery-1.11.2.js"></script> </head> <body> <div> <button id="submit1">提交1</button> <button id="submit2">提交2</button><button id="submit3">提交3</button> </div> </body> </html> <script type="text/javascript"> $(function () { $("#submit1").click(function () { $.get("/Home/GetData1",function (data) { //服务器端返回的是一个Json对象,所以这个data是一个json对象,并不是一个json格式的字符串。 alert(data.code); //打印出:0 alert(data.message);//打印出:成功 //除了以上的取值方式外下面的方式也是可以取到值的 alert(data["code"]); //打印出:0 alert(data["message"]); //打印出:成功 }) }) }) </script> <script type="text/javascript"> $(function () { $("#submit2").click(function () { //不知道为什么这种一定要是异步Post请求,如果是异步Get请求无法取到数据 $.post("/Home/GetData2",function (data) { //服务器端返回的是一个Json对象,所以这个data是一个json对象,并不是一个json格式的字符串。 alert(data.code); //打印出:0 alert(data.message); //打印出:ON }) }) }) </script> <script type="text/javascript"> $(function () { $("#submit3").click(function () { $.get("/Home/GetData3",function (data) { //服务器返回的是一个json格式的字符串,所以这个data是一个字符串,并不是一个对象 var jsonObj = $.parseJSON(data); //将这个字符串 转换成json对象 alert(jsonObj.code); //打印出:1 alert(jsonObj.message); //打印出:OK }) }) }) </script>

ajax获取json数据

ajax获取json数据

//ajax获取json数据
$(function () {
    var actionUrl = 'xxxooo.action';
    $.ajax({
        url: actionUrl,dataType: "json",cache: false,type: "POST",success: function (data,textStatus) {
            $.each(data,function (idx,obj) {

            });
        }
    });
})

ajax获取json数据为undefined原因分析

ajax获取json数据为undefined原因分析

Asynchronous JavaScript and XML (Ajax ) 是驱动新一代 Web 站点(流行术语为 Web 2.0 站点)的关键技术。Ajax 允许在不干扰 Web 应用程序的显示和行为的情况下在后台进行数据检索。使用 XMLHttpRequest 函数获取数据,它是一种 API,允许客户端 JavaScript 通过 HTTP 连接到远程服务器。Ajax 也是许多 mashup 的驱动力,它可将来自多个地方的内容集成为单一 Web 应用程序。

  一般处理服务器传来的json值时,我们都会用两种方式进行处理:

1.一种为使用eval()函数。var dataObj=eval("("+data+")");//转换为json对象(注:data为json数据);

2. 使用Function对象来进行返回解析。var json =(new Function("","return "+data))();

       但是今天做项目(项目用struts2)时用这两种方法进行json读取,输出时一直是undefined。上网查了许多资料,大多都说不明白,后来查到一篇文章作者也遇到这种情况,他解决的办法是在action中将返回值声明json属性,在自己的项目上测试后不通过,后来解决的办法是再转一次。以下是自己的思考:从后台传来的数据虽然声明为json属性,但是传到前台时其实还是一个字符串,不是一个json对象,这时候我们需要对后台的数据进行处理,转化为json对象,然后获取json中的值。但是有时候后台传来的值不一定是标准的json格式的字符串,虽然我们通过前面的两种方法之一转化后台传来的对象,但是这时候转化的json对象实际上还是一个字符串,是一个标准的json字符串,我们再一次转换后就成了一个json对象。

      以下是部分代码:       

 result = JSONObject.fromObject(map).toString();//后台代码,将map转成json对象
      success : function(result) {//前台返回值代码
var obj = eval("("+result+")");
//var data1 =(new Function("","return "+obj))();
var data1=eval("("+obj+")");
alert(data1.name);
      }

总结

以上所述是小编给大家介绍的ajax获取json数据为undefined原因分析,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!

您可能感兴趣的文章:
  • js删除对象/数组中null、undefined、空对象及空数组方法示例
  • JavaScript基本类型值-Undefined、Null、Boolean
  • 有关JS中的0,null,undefined,[],{},'''''''''''''''''''''''''''''''',false之间的关系
  • Javascript中判断一个值是否为undefined的方法详解
  • JS中怎样判断undefined(比较不错的方法)
  • JS中判断null、undefined与NaN的方法
  • javascript中undefined的本质解析

ajax获取json数据为undefined原因分析_AJAX相关

ajax获取json数据为undefined原因分析_AJAX相关

ajax 允许在不干扰 web 应用程序的显示和行为的情况下在后台进行数据检索。这篇文章主要介绍了ajax获取json数据为undefined--原因,对ajax感兴趣的朋友可以参考下

Asynchronous JavaScript and XML (Ajax ) 是驱动新一代 Web 站点(流行术语为 Web 2.0 站点)的关键技术。Ajax 允许在不干扰 Web 应用程序的显示和行为的情况下在后台进行数据检索。使用 XMLHttpRequest 函数获取数据,它是一种 API,允许客户端 JavaScript 通过 HTTP 连接到远程服务器。Ajax 也是许多 mashup 的驱动力,它可将来自多个地方的内容集成为单一 Web 应用程序。

  一般处理服务器传来的json值时,我们都会用两种方式进行处理:

1.一种为使用eval()函数。var dataObj=eval("("+data+")");//转换为json对象(注:data为json数据);

2. 使用Function对象来进行返回解析。var json =(new Function("","return "+data))();

       但是今天做项目(项目用struts2)时用这两种方法进行json读取,输出时一直是undefined。上网查了许多资料,大多都说不明白,后来查到一篇文章作者也遇到这种情况,他解决的办法是在action中将返回值声明json属性,在自己的项目上测试后不通过,后来解决的办法是再转一次。以下是自己的思考:从后台传来的数据虽然声明为json属性,但是传到前台时其实还是一个字符串,不是一个json对象,这时候我们需要对后台的数据进行处理,转化为json对象,然后获取json中的值。但是有时候后台传来的值不一定是标准的json格式的字符串,虽然我们通过前面的两种方法之一转化后台传来的对象,但是这时候转化的json对象实际上还是一个字符串,是一个标准的json字符串,我们再一次转换后就成了一个json对象。

      以下是部分代码:       

 result = JSONObject.fromObject(map).toString();//后台代码,将map转成json对象
      success : function(result) {//前台返回值代码
var obj = eval("("+result+")");
//var data1 =(new Function("","return "+obj))();
var data1=eval("("+obj+")");
alert(data1.name);
      }
登录后复制

总结

以上所述是小编给大家介绍的ajax获取json数据为undefined原因分析,希望对大家有所帮助!!

相关推荐:

AJAX使用中的异步同步请求怎么实现

原生JS如何实现AJAX、JSONP

Ajax之文件异步上传的多种方法

以上就是ajax获取json数据为undefined原因分析_AJAX相关的详细内容,更多请关注php中文网其它相关文章!

今天的关于ajax获取json数据然后将其装载到jqgrid实现ajax获取json数据并显示的分享已经结束,谢谢您的关注,如果想了解更多关于AJAX MVC 服务器返回Json数据,客户端获取Json数据、ajax获取json数据、ajax获取json数据为undefined原因分析、ajax获取json数据为undefined原因分析_AJAX相关的相关知识,请在本站进行查询。

本文标签: