前端js傳值JSON.stringify(obj)

用bootstrap-talbe前端傳值javascript

首先直接傳確定是不行的;前端

其次作一個全局變量也不行,由於這裏的問題的是用bootstrap-table進行生成的操做HTML,從這裏datass = row 只能獲得最後一次的值java

最後是打算先轉爲字符串,傳過去再轉成對象。json

可是直接進行JSON.stringify(row) 傳值仍是傳不過去提示  EditViewById('{ ,這裏沒有細究,直接用了encodeURI解決,以下:bootstrap

    function actionFormatter(value, row, index) { 
        var id = value;
        // datass = row;
       var datas = encodeURI(JSON.stringify(row));

        var result = "";
        result += "<a href='javascript:;' class='btn btn-xs green' onclick=\"EditViewById('" + datas + "', view='view')\" title='查看'><span class='glyphicon glyphicon-search'></span></a>";
        result += "<a href='javascript:;' class='btn btn-xs blue' onclick=\"EditViewById('" + datas + "')\" title='編輯'><span class='glyphicon glyphicon-pencil'></span></a>";
        result += "<a href='javascript:;' class='btn btn-xs red' onclick=\"DeleteByIds('" + id + "')\" title='刪除'><span class='glyphicon glyphicon-remove'></span></a>";

        return result;
    }

總結:先將json對象轉爲字符串(JSON.stringify(obj))再將字符串編碼(encodeURI(jsonstr)),傳過去以後再先解碼(decodeURI(jsonstr)),再轉成json對象(JSON.parse(jsonstr))。函數

 

 

 

 

拓展:escape() 函數可對字符串進行編碼,這樣就能夠在全部的計算機上讀取該字符串。編碼

提示:能夠使用 unescape() 對 escape() 編碼的字符串進行解碼。spa

註釋:ECMAScript v3 反對使用該方法,應用使用 decodeURI() 和 decodeURIComponent() 替代它。code

相關文章
相關標籤/搜索