Ajax:用数据删除不需要的文本

时间:2018-05-08 16:05:03

标签: ajax

我试图每隔10秒从控制器获取新数据。但是ajax会返回数据附带的不需要的文本。反正有没有摆脱数据附带的文本?对不起我的英语

此处显示在页面上的结果

View

我只想要号码" 1077"和" 7"

这是我的控制器

ajax: function(req, res){
    knex.raw("CALL GetQueuePlay('00');")
     .then(function(result){
        var number = JSON.parse(JSON.stringify(result[0][0]));
        console.log(JSON.parse(JSON.stringify(result[0][0])))
        return res.send({q_play_list:number});
      }) 
},

这是Ajax

$(document).ready(function(){
    setInterval(function(){
    $.ajax({
        type: "GET",
        url: "/ajax",
        data: { QNum: 0 , station_num: 0 },
        success: function(data){
            $('#kue1').text(JSON.stringify(data));
            console.log('Data Appeared!' + data);
        },
        error: function (error) {
            console.log("something is wrong: ", error);
        }

    });
},10000)
});

2 个答案:

答案 0 :(得分:1)

你可以尝试

Object.values(q_play_list[0])

或者,如果发生这种情况,您可以使用正则表达式过滤掉非数字字符。

https://www.w3schools.com/jsref/jsref_obj_regexp.asp

答案 1 :(得分:1)

我可以看到q_play_list是一个数组。收到响应后,您可以遍历数组并读取属性QNum和station_num,将其存储在变量中,然后在UI中显示它。像这样:

    if(data["q_play_list"] && Array.isArray(["q_play_list"])){
         var playList = data["q_play_list"];
         var playListLength = data["q_play_list"].length;
         for(var i = 0; i< playListLength; i++){
           var textToBeDisplayed = playList[i].QNum || "";
           textToBeDisplayed + = playList[i].station_num? " "+playList[i].station_num : "";
           $('#kue1').text(textToBeDisplayed );
         }
    }