導航:首頁 > 編程語言 > extjs5appjson

extjs5appjson

發布時間:2023-03-29 22:42:53

『壹』 本人extjs入門,現在正在學慣用Extjs4,我想問一下extjs怎麼接收解析json數據

JSON可以理解為JavaScript的對象序列化的字元串, 你看下JSON的內容, 會發現和代碼中寫的對象字面量基本一樣, 所以使用eval方法即可將JSON轉換為對象.
Ext僅僅是簡單的封裝eval方法, 以適應不同標準的JSON
源代碼:
Ext.util.JSON.decode = function(json){
return eval('(' + json + ')');
};
你可以自己alert出來看

//示例
Ext.onReady(function() {
Ext.Ajax.request({
url: 'getmsg.action?user=1',
method: 'GET',
success: function(resp, options) {
//標准JSON字元串 '{"data": [{"msg":"abcd"}]}'
var jsonObj = Ext.util.JSON.decode(resp.responseText);
//顯示模態提示框
Ext.Msg.alert('title', jsonObj.data[0].msg, function(btn){
//Ext的模態窗口僅僅是屏蔽操作, 並不阻塞線程, js也沒有線程, 這點非常重要
//提示框的按鈕事件回調
alert(btn); //後執行
});
alert(1); //先執行
}
//failure: function() {...} //可選的
});
});

Ext的ApiDoc做得非常好, 對學習有很大的幫助. 千萬不要看一些所謂的中文版, 有很多機器翻譯不說, 還有很多未校對的錯誤.

另: 學習ExtJS要掌握閉包的概念, 這個是js一個非常重要的特性, Ext使用該特性模擬了繼承及封裝, 在一定程度上實現了面向對象編程. 當然你也可以無視Ext的繼承機制, 使用js本身的原型繼承(prototype)

『貳』 extjs中JsonStore數據獲取

var store=new Ext.data.JsonStore({ data:"這里是你保存數據的變數,本地數據", url:"如果是從服務端獲得數據,則填寫服務端地址回,如果是本地數據則答不需要此屬性", field:["這里是欄位的名如{name:"欄位名"}"]});store.getAt("第幾條數據").get("欄位名") //獲得data里的數據store.getCount() //獲得數據總共有多少條store.getTotalCount() //獲得TotalCount 至於獲得 code、uesr 值,API里好象沒有介紹

『叄』 ExtJS 解析json數據 動態創建grid表格

store 在ext里叫數據存儲器,你上面寫的太繁復,ext提供高級store


首先你要弄清楚這個過程:

store 的load函數會觸發數據存儲器根據httpProxy設定的url去請求數據,請求回來的數據,要用數據讀取器Reader對象,比如用你的JsonReader,每一條數據對應一個Ext.data.Record對象,你第三個問題問reader里的數組有什麼用,它是Ext.data.Record的簡寫,你可以把那個數組寫成一下這樣來代替你的那個數組,不過通常為了簡單起見我們都寫簡寫


varRecordTemplate=newExt.data.Record.create([
/*name對應的值就是存儲在本條record中的key值,當你需要
*從某一條數據中取出某個欄位是,你就必須用這個key
*/
{name:'firstname'},

/*上面說name對應的值你讀取後的key索引值,那
*mapping對應的值就是你從後台請求回來的每一條數據元素中的一個key,
*意思就是,我從請求回來的數據中讀取
*key為occupation的值存儲在store中一條record的job索引key中
*/
{name:'job',mapping:'occupation'}
});



http proxy


1>.SimpleStore = Store + MemoryProxy + ArrayReader 用作讀取靜態本地數據

2>.JsonStore = Store + HttpProxy + JsonReader 用作讀取後台json信息

vards=newExt.data.JsonStore(
{
url:"",//請求地址
paramNames:{arg0:0},//提交請求,附帶的參數,通常你需要使用分頁,排序,可以在這里
fields:["key"],//對應Reader里返回json對象中的每個key,在grid里也對應ColumnModel列模型中的dataIndex
});



2,返回的json數據必須有數量count這個變數嗎?直接是條目的列表不行嗎?

答:不用必須,這個count是完全自定義的,你需要分頁工具條時,需要指定總共多少條數據,需要一個欄位存儲總條數數據,至於是count,還是total,只要和你後台返回的json中去取值時對應就可以了,分頁工具條,會以count作為key在你請求回來的json去取值。這是一個前後和後台的約定欄位,只要保持一致,起什麼名字都無關。


直接是條目的列表是行的。其實 重要的你要理解 前台 和 後台 的約定,這不是說那一邊行不行,你前台定義了什麼樣的格式來讀,你後台就要提供什麼樣的數據,不然讀不到數據,響應,你後台提供了什麼樣的數據格式,前台就要按照這個格式來讀。 這是 一種約定,而數據格式是完全可以自定義的。那麼你安裝xml格式都可以。如果你使用的讀取器前台控制項規定了讀取方式,那麼你 後台返回的數據就要嚴格按照這種格式來組織。不然你後台返回的數據,前台不認識就無法讀取,這是有嚴格邏輯的。

你可以把 root:"",totalRecords:"",id:;"" 這都都不要,後台返回的數據 是json Array,就是你說的條目列表就可以了。

『肆』 Extjs中將後台的array數據轉換為Json格式怎麼做,急求

你在後台時 直接轉json 傳到前台 本來就是 下面的這種格式了

你者並需要加一個首攔跡json包 然後直接衡局把array數組轉為 json就可以了

『伍』 extjs json後台有數據,到前台就顯示undefined,是怎麼回事

alert(response)看下有沒有得到值!評論裡面寫不了代碼,我修改下答案作為回復:回

你列印一下console.log(response)這個看下,答是不是就是你相面寫下來的對象{"message":"操作成功!","fileName":"QQ截圖20131111083729.png","success":true}這個,如果是的話,剩下的你自己就知道了吧!我估計extjs把返回的東西已經是處理過了,不用.responseText做處理!

『陸』 extjs有沒有把字元串轉換成json數據的方法

有的,extjs 可以野困使用 Ext.util.JSON.decode(字頌源念符裂者串) 的方式,將符合JSON規則的字元串,轉換為 json對象。
Ext.util.JSON.decode 可以使用縮寫 Ext.decode 代替,更為簡潔。

『柒』 Extjs ajax返回的json數組 賦值給table

首先,Ajax請求數據,(用的是Jquery的Ajax)

復制代碼 代碼如下:

<script>
$(function(){
$('#test').click(function(){
$.ajax({
url:'__APP__/Article/jsonTest',
type:'post',
success:function(data){
var item;
$.each(data,function(i,result){
item
=
"<tr><td>"+result['num']+"</td><td>"+result['title']+"<
/td><td>"+result['credate']+"</td><td>操作<
/td></tr>";
$('.table').append(item);
});
}
})
})
});
</script>

後台處理請求,返回Json格式數據(用的是Thinkphp返回)

復制代碼 代碼如下:

$list = $File->group('num')->order('id desc')->limit($Page->firstRow.','.$Page->listRows)->select();
$this->ajaxReturn($list,'JSON');

html部分

復制代碼 代碼如下:

<table class="table table-striped table-bordered table-condensed">
<tr><th>編號</th><th>名稱</th><th>創建時間</th><th>操作</th></tr>
</table>

『捌』 extjs 5.0 要如何拼寫json才能被treeStore動態讀取

後台是什麼氏行爛語言?只要定義一個類似的類結構。
class A {
string id;
string url;
int parent_id;
bool leaf;
string iconCls;
string text;
List<A> children;
}.從資料庫中讀出帶做數據生成這個類,用Json()返回就可以殲漏

『玖』 ExtJS的讀取JSON數據讀不到

第一、查看你的json是否正確
第二、我的寫法,請參考
var itemsPerPage = 50;
var store = Ext.create('Ext.data.Store', {
autoLoad: { start: 0, limit: itemsPerPage },
fields: ['ZWWLDW_DWBH', 'ZWWLDW_DWMC', 'ZWWLDW_DWMM', 'ZWWLDW_DWQX', 'ZWWLDW_DWBZ'],
pageSize: itemsPerPage,
proxy: {
type: 'ajax',
url: 'HandlerFun.ashx?Type=CMManager',
reader: {
type: 'json',
root: 'rows',
totalProperty: 'total'
}
}

});

如果放我這個還不行,等一下,我把grid那裡也發給你,這個都是項目中的

閱讀全文

與extjs5appjson相關的資料

熱點內容
為什麼淘寶app是黑色的 瀏覽:17
如何在cad中把圖形輸出為pdf文件 瀏覽:535
文件夾橫簽 瀏覽:988
extjs5mvc 瀏覽:614
win7如何安裝資料庫 瀏覽:647
informix資料庫倒數卸數 瀏覽:983
華碩p7h55mplus升級 瀏覽:240
servlet調用jsp 瀏覽:481
文件的命名原則有哪些 瀏覽:352
蘋果的文件管理是哪個 瀏覽:387
智能黑板如何給pdf文件做批註 瀏覽:788
哈弗智聯app如何綁定二手車 瀏覽:728
cad文件不多可是異常增大 瀏覽:872
蘋果手機怎樣將音頻文件導入剪映 瀏覽:432
2016秋季飛歌導航升級 瀏覽:151
電腦字元串怎麼編程 瀏覽:381
暴風不能在線觀看視頻文件 瀏覽:267
三國卡可以升級嗎 瀏覽:939
如何篩選出相同數據 瀏覽:311
vbox文件找不到 瀏覽:49

友情鏈接