EncodingGentleman 2018-03-16 06:19 采纳率: 100%
浏览 997
已采纳

JS一个var如何接受后台传回json数据

easyUI有个demo上面是这样的

 <script>
var products = [
{productid:'FI-SW-01',name:'Koi'},
{productid:'K9-DL-01',name:'Dalmation'},
{productid:'RP-SN-01',name:'Rattlesnake'}]
<script>
 <body>
<th field="productid" width="100" formatter="productFormatter" editor="{type:'combobox',options:{valueField:'productid',textField:'name',data:products,required:true}}">Product</th>
</body>

就是一个下拉选有3个选项,Koi、Dalmation和Rattlesnake,现在说我的下拉选的选项需要从后台获取数据,那么我想要这个var products = 后台获得的json数据,怎么做?就是一个json数据赋值给JS变量问题,我试过在函数里面定义一个var接受json数据但是不行。如下:

 $.ajax({
url:'${pageContext.request.contextPath}/AjaxRegistration_list'
})
.done(function(response){
console.log("success"+JSON.stringify(response));
var products = JSON.stringify(response);
//这里能打印出json数据,但是上面的var products好像并不能被th中的editor使用data:products这样接受
alert(products);
})
.fail(function(){
console.log("error")
});
  • 写回答

7条回答 默认 最新

  • xing2208 2018-03-16 06:39
    关注

    不清楚你返回json的response内容是怎样,假如是这样的:

     {
       "data" :
          [
             {
                "productid" : "FI-SW-01",
                "name" : "Koi",
             },
             {
                "productid" : "K9-DL-01",
                "name" : "Dalmation",
             }
          ],
       "success" : true
    }
    

    栗子:

     <script>
    var products = [];
    for(var i=0;i<response.data.length;i++){
        var obj=response.data[i];
        products.push({
            productid:obj.productid,//'FI-SW-01',
            name:obj.name//'Koi'
        })
    }
    console.log(products);
    </script>
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(6条)

报告相同问题?

悬赏问题

  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 shape_predictor_68_face_landmarks.dat
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料