js獲取后台map格式數據


后台:

@RequestMapping("/dictList")
    @ResponseBody
    public Map<String, Object> positionList() {
        Map<String, Object> params = new HashMap<String, Object>();
        List<SysDictBean> status = sysDictService.findByType("foreign_status"); //查詢系統參數的貨幣對
        List<SysDictBean> side = sysDictService.findByType("side_type"); //查詢交易類型
        params.put("status", status);
        params.put("side", side);
        return params;
    }

js:

 function getDict(){
        $.ajax({
            type: "POST",
            url:'/dictList',
            data:{},
            async: false,
            success: function(data) {
                var json = eval("(" + JSON.stringify(data) + ")"); 
                //也可以這樣寫:var json = JSON.parse(JSON.stringify(data));
               // dictSide = JSON.stringify(json.side);
               // //console.log(dictSide)
               //  for (var t = 0; t < json.side.length; t++) {
               //      if (json.side[t].value == 1) {
               //          var aa = json.side[t].name;
               //          alert(aa)
               //      }
               //  }
                dictSide = json.side;
                dictStatus = json.status;
            }
        });
    }

eval()把對應的字符串解析成JS代碼並運行。

為什么eval("("+data+")")函數內部要添加括號呢
 由於json是以{}的方式來開始以及結束的,在JS中,它會被當成一個語句塊來處理,所以必須強制性的將它轉換成一種表達式。

加上圓括號的目的是迫使eval函數在處理JavaScript代碼的時候強制將括號內的表達式(expression)轉化為對象,而不是作為語句(statement)來執行。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM