本文将为您提供关于后台json数据加载到grid的store中的详细介绍,我们还将为您解释加载json文件的相关知识,同时,我们还将为您提供关于ajax获取json数据然后将其装载到jqgrid实现、
本文将为您提供关于后台json数据加载到grid的store中的详细介绍,我们还将为您解释加载json文件的相关知识,同时,我们还将为您提供关于ajax获取json数据然后将其装载到jqgrid实现、ajax请求接收后台json数据格式、ajax调用返回php接口返回json数据 ajax jsonp ajax json实例 ajax获取后台json数、Android:将JSON数据加载到适配器中的实用信息。
本文目录一览:- 后台json数据加载到grid的store中(加载json文件)
- ajax获取json数据然后将其装载到jqgrid实现
- ajax请求接收后台json数据格式
- ajax调用返回php接口返回json数据 ajax jsonp ajax json实例 ajax获取后台json数
- Android:将JSON数据加载到适配器中
后台json数据加载到grid的store中(加载json文件)
//页面弹窗
var win = new Ext.Window({
layout:''fit'',
width:1020,
height:600,
closeAction:''hide'',
items:[confirm],//在弹窗中嵌套表格;
modal:true,
listeners : {
''hide'':function(){
store.reload();
},
''show'':function(){
}
},
buttons:[
{
text:''确认'',
handler:function(){
}
},{
text:''取消'',
handler:function(){
win.hide();
}
}]
});
//设定grid格式
var confirm = new Ext.grid.GridPanel({
store:personStore,
columns:[
{header:"商品编号",dataIndex:"Meta_productNo",width :100,align:''left'',resizable:true,sortable:true },
{header:"商品名称",dataIndex:"Meta_productName",width :100,align:''left'',resizable:true,sortable:true },
{header:"商品属性",dataIndex:"Meta_attribute",width :100,align:''left'',resizable:true,sortable:true },
{header:"SKU编号",dataIndex:"Meta_sku",width :100,align:''left'',resizable:true,sortable:true },
{header:"SKU颜色",dataIndex:"Meta_color",width :100,align:''left'',resizable:true,sortable:true },
{header:"SKU规格",dataIndex:"Meta_standard",width :100,align:''left'',resizable:true,sortable:true },
{header:"进货价(元)",dataIndex:"Meta_buyingPrice",width :100,align:''left'',resizable:true,sortable:true},
{header:"批发价(元)",dataIndex:"Meta_tradePrice",width :100,align:''left'',resizable:true,sortable:true },
{header:"零售价(元)",dataIndex:"Meta_retaillPrice",width :100,align:''left'',resizable:true,sortable:true },
{header:"平台评估价(元)",dataIndex:"Meta_appraisePrice",width :100,align:''left'',resizable:true,sortable:true },
],
layout:''fit''
});
//设定JsonStore
var personStore = new Ext.data.JsonStore({
method : "POST",
fields : ["Meta_productNo","Meta_productName","Meta_attribute","Meta_sku","Meta_color","Meta_standard","Meta_buyingPrice","Meta_tradePrice","Meta_retaillPrice","Meta_appraisePrice"] //与Grid1列一致,至少列名称一致
});
//重头戏=======加载后台json数据弹窗展示
var data = Ext.util.JSON.decode(response.responseText);
personStore.loadData(data);
win.show();
//后台的json格式直接返回跟JsonStore中的格式一样,无需前缀,例如:
[{"Meta_productNo":"20012111","Meta_productName":"凯旋1664 360全网通","Meta_attribute":"全网通","Meta_sku":"200121113344","Meta_color":"红色","Meta_standard":"8G-64G","Meta_buyingPrice":"0.000000","Meta_tradePrice":"0.000000","Meta_retaillPrice":"0.000000","Meta_appraisePrice":"0.000000"}]
ajax获取json数据然后将其装载到jqgrid实现
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请求接收后台json数据格式
1.准备一个jsp页面 该处有一个较为重要的点(var obj = eval(‘(backDate)‘);)这是将字符串格式转化为json数据对象
注: 我传输的是json数组格式 json数据有两种格式{键名 :值} ["值","",""] 只是相对应的java后台json数据处理方式不同
2.在网上下载json.jar相关jar包(该jar包解决对象与json数据格式的相互转化,较为方便) 下载地址 :http://www.pc6.com/softview/SoftView_468549.html
3.准备java后台
ajax调用返回php接口返回json数据 ajax jsonp ajax json实例 ajax获取后台json数
php代码如下:
<span><?php </span>header(<span>''Content-Type: application/json''</span>); header(<span>''Content-Type: text/html;charset=utf-8''</span>); <span>$email </span><span>= </span><span>$_GET[</span><span>''email''</span><span>]</span>; <span>$user </span><span>= </span><span>[]</span>; <span>$conn </span><span>= @</span>mysql_connect(<span>"localhost"</span>,<span>"Test"</span>,<span>"123456"</span>) <span>or die</span>(<span>"Failed in connecting database"</span>); mysql_select_db(<span>"Test"</span>,<span>$conn</span>); mysql_query(<span>"set names ''UTF-8''"</span>); <span>$query </span><span>= </span><span>"select </span><span><em>*</em></span><span> from UserInformation where email = ''"</span><span>.</span><span>$email</span><span>.</span><span>"''"</span>; <span>$result </span><span>= </span>mysql_query(<span>$query</span>); <span>if </span>(<span>null </span><span>== </span>(<span>$row </span><span>= </span>mysql_fetch_array(<span>$result</span>))) <span>{ </span><span>echo </span><span>$_GET[</span><span>''callback''</span><span>]</span><span>.</span><span>"(no such user)"</span>; <span>} </span><span>else </span><span>{ </span><span>$user[</span><span>''email''</span><span>] </span><span>= </span><span>$email</span>; <span>$user[</span><span>''nickname''</span><span>] </span><span>= </span><span>$row[</span><span>''nickname''</span><span>]</span>; <span>$user[</span><span>''portrait''</span><span>] </span><span>= </span><span>$row[</span><span>''portrait''</span><span>]</span>; <span>echo </span><span>$_GET[</span><span>''callback''</span><span>]</span><span>.</span><span>"("</span><span>.</span>json_encode(<span>$user</span>)<span>.</span><span>")"</span>; <span>} </span><span>?></span></span>
<script> $.ajax({ url: "http://test.localhost/UserInterfaceForChatroom/UserInformation.php?email=pshuyue@gmail.com", type: "GET", dataType: 'jsonp', // crossDomain: true, success: function (result) { // data = $.parseJSON(result); // alert(data.nickname); alert(result.nickname); } }); </script>
其中遇到了两个问题:
1.第一个问题:
Uncaught SyntaxError: Unexpected token :
解决方案如下:
This has just happened to me, and the reason was none of the reasons above. I was using the jQuery command getJSON and adding callback=? to use JSONP (as I needed to go cross-domain), and returning the JSON code {"foo":"bar"} and getting the error.
This is because I should have included the callback data, something like jQuery17209314005577471107_1335958194322({"foo":"bar"})
Here is the PHP code I used to achieve this, which degrades if JSON (without a callback) is used:
立即学习“PHP免费学习笔记(深入)”;
<span>$ret</span><span>[</span><span>''foo''</span><span>]</span><span>=</span><span>"bar"</span><span>;</span><span> finish</span><span>();</span><span>function</span><span> finish</span><span>()</span><span>{</span><span> header</span><span>(</span><span>"content-type:application/json"</span><span>);</span><span>if</span><span>(</span><span>$_GET</span><span>[</span><span>''callback''</span><span>])</span><span>{</span><span>print</span><span> $_GET</span><span>[</span><span>''callback''</span><span>].</span><span>"("</span><span>;</span><span>}</span><span>print</span><span> json_encode</span><span>(</span><span>$GLOBALS</span><span>[</span><span>''ret''</span><span>]);</span><span>if</span><span>(</span><span>$_GET</span><span>[</span><span>''callback''</span><span>])</span><span>{</span><span>print</span><span>")"</span><span>;</span><span>}</span><span>exit</span><span>;</span><span>}</span>
Hopefully that will help someone in the future.
2.第二个问题:解析json数据。从上面的javascript中可以看到,我没有使用jquery.parseJSON()这些方法,开始使用这些方法,但是总是会报
VM219:1 Uncaught SyntaxError: Unexpected token o in JSON at position 1
的错误,后来不用jquery.parseJSON()这个方法,反而一切正常。不知为何。
以上就介绍了ajax调用返回php接口返回json数据,包括了ajax,json方面的内容,希望对PHP教程有兴趣的朋友有所帮助。
Android:将JSON数据加载到适配器中
我成功地从MySQL数据库中获取数据并通过JSON将其带到应用程序.在解析期间,我试图创建另一个数组以传递到ArrayAdapter以在ListView中使用.这是我遇到问题的代码:
try{ jArray = new JSONArray(result); JSONObject json_data=null; for(int i=0;i<jArray.length();i++){ json_data = jArray.getJSONObject(i); ct_id=json_data.getString("ID"); ct_name=json_data.getString("Player2N"); Games game_data[] = new Games[] { new Games(ct_id,ct_name) }; } GameAdapter adapter = new GameAdapter(this,R.layout.listview_item_row,game_data); listView1 = (ListView)findViewById(R.id.listView1); View header = (View)getLayoutInflater().inflate(R.layout.listview_header_row,null); listView1.addHeaderView(header); listView1.setAdapter(adapter); }
这一行:GameAdapter adapter = new GameAdapter(this,game_data);
更具体地说,game_data在Eclipse中以红色突出显示.我很好奇的是为什么game_data在循环结束后无法触及?我只是想在这里将JSON行中的特定字段添加到适配器中.
我也尝试在设置数组时循环,但仍然没有骰子,因为新的Games []收到错误.这是一个例子:
Games game_data[] = new Games[] { for(int i=0;i<jArray.length();i++){ json_data = jArray.getJSONObject(i); ct_id=json_data.getString("ID"); ct_name=json_data.getString("Player2N"); // Games game_data[] = new Games[] // { new Games(ct_id,ct_name); // }; }
错误:变量必须提供维度表达式或数组初始值设定项.
解决方法
try{ jArray = new JSONArray(result); JSONObject json_data=null; Games game_data[]; game_data[] = new Games[jArray.length()]; for(int i=0;i<jArray.length();i++){ json_data = jArray.getJSONObject(i); ct_id=json_data.getString("ID"); ct_name=json_data.getString("Player2N"); game_data[i] = new Games(ct_id,ct_name); } GameAdapter adapter = new GameAdapter(this,game_data); listView1 = (ListView)findViewById(R.id.listView1); View header = (View)getLayoutInflater().inflate(R.layout.listview_header_row,null); listView1.addHeaderView(header); listView1.setAdapter(adapter);
}
今天的关于后台json数据加载到grid的store中和加载json文件的分享已经结束,谢谢您的关注,如果想了解更多关于ajax获取json数据然后将其装载到jqgrid实现、ajax请求接收后台json数据格式、ajax调用返回php接口返回json数据 ajax jsonp ajax json实例 ajax获取后台json数、Android:将JSON数据加载到适配器中的相关知识,请在本站进行查询。
本文标签: