ScriptTagProxy 是支持script标签的proxy,其主要工作原来是建立<script language="javascript"></script>标签
从服务器端返回JS文件,一般和JSON搭配使用
1:服务器端要处理一个名为callback的参数,其作用是返回一个名为 param("callback")({});的对象。
2:trans_id是一个递增的事物Id,主要用来防止并发请求对象名称重复。
var stp=new Ext.data.ScriptTagProxy({
url:"http://127.0.0.1:8080/CommonWeb/jsonData.jsp",
timeout : 10000,
callbackParam : "JsonObj",
nocache : true,/*Ext会在参数后加时间戳*/
///*
listeners : {
load :function(t,o,a){
alert(t);
}
}
//*/
});
stp.addListener("load",function(){alert("load")});
var read=new Ext.data.JsonReader({
id: 'rowid',
root: 'rowset',
totalProperty: 'count',
fields: [
"title"
]
});
stp.load({params:{start:0, limit:1}},read,backFn);
function backFn(data,args,sucess){
alert(sucess)
alert(data.totalRecords)
alert(data.records[0].id)
alert(data.records[0].get("title"))
}
比较郁闷的一点是 添加事件时候用 listeners 不管用,而用addListener就可以,不知道为什么.....
<%=request.getParameter("JsonObj")%>({
"count":"1",
"rowset":[{
"rowid":"1",
"title":"return mys title"
}]
});