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 用三极管设计一个单管共射放大电路
  • ¥20 fluent无法启动
  • ¥15 孟德尔随机化r语言运行问题
  • ¥15 pyinstaller编译的时候出现No module named 'imp'
  • ¥15 nirs_kit中打码怎么看(打码文件是csv格式)
  • ¥15 怎么把多于硬盘空间放到根目录下
  • ¥15 Matlab问题解答有两个问题
  • ¥15 LCD12864中文显示
  • ¥15 在使用CH341SER.EXE时不小心把所有驱动文件删除了怎么解决
  • ¥15 gsoap生成onvif框架