son實現前後臺的相互傳值詳解

2021-06-28 01:11:50 字數 1808 閱讀 8676

前後臺的相互傳值如果值太多,寫的麻煩累人,且容易出錯。這裡整理出一套使用標記 標籤屬性的辦法來傳值, 後台取值和前台的繫結都有了大大的簡化。

一、把json物件轉成字串

複製** **如下:

$.extend(

switch (type) ) + '"';

break;

case 'object':

if (object === null) return 'null';

var results = ;

for (var property in object)

return '';

break;

case 'array':

var results = ;

for (var i = 0; i < object.length; i++)

return '[' + results.join(',') + ']';

break;}}

});二、建立資料容器物件 [用來繫結要傳給後台的前台控制項值]

複製** **如下:

var dataclass = }}

var mydatapack = dataclass.create();

mydatapack.prototype = ,

//新增資料 如:addvalue("obj", "111");

addvalue: function (p, obj) ,

//取得 所有標記控制項的值 並寫入資料

getvaluesetdata: function (togname)

else if (this.type == "...")

//......

}else if (this.localname == "...")

//................

});this.data[togname] = values;//新增到資料集合

},//取值 如:getvalue("basicdata")

getvalue: function (p) ,

//獲取或設定url

geturl: function (url)

,//取值 轉成字串的物件 資料

getjsondata: function ()

}三、建立繫結前台資料物件 [用來讀取後台傳過來的值,並繫結到前台頁面]

複製** **如下:

var mydatabinder =

else if (this.localname == "...")

//....

});}

};四、使用示例

前台html:

複製** **如下:一二

三前台js:

複製** **如下:

//********************使用示例***********************************===

var mydatapack = new mydatapack("handler1.ashx", "ceshi", "");

mydatapack.getvaluesetdata("subtag");//將控制項資料寫入物件 「subtag」為要取 控制項 值 的標籤

//-------------------傳前台值到後台---------------

$.post(mydatapack.geturl(), mydatapack.getjsondata(), function (data) );

後台:複製** **如下:

前後臺互動傳值

modelattribute 被此註解修飾的方法會在這個controller所有方法被執行之前執行 responsebody 一般在非同步ajax時使用 加上此註解後返回結果不會被解析為跳轉路徑,而是直接寫入 http response body 中。請求json直接返回json。model是乙個介...

前台和後台的相互傳值

前後臺的相互傳值如果值太多,寫的麻煩累人,且容易出錯。這裡整理出一套使用標記 標籤屬性的辦法來傳值,後台取值和前台的繫結都有了大大的簡化。extend switch type break case object if object null return null var results for v...

Qt不同的類之間相互傳值的方式

自己遇到的一些情況,不喜勿噴,但歡迎斧正 1 若是兩個視窗同等關係,執行時均顯示,可在main.cpp裡面先包含各自的.件。然後再用connect連線訊號與槽。前提在各自類裡面已經設定好訊號與槽函式。2 若是乙個類是通過提公升某個控制項才得以與另乙個類聯絡的 qobject connect this...