我试图每隔10秒从控制器获取新数据。但是ajax会返回数据附带的不需要的文本。反正有没有摆脱数据附带的文本?对不起我的英语
此处显示在页面上的结果
我只想要号码" 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)
});
答案 0 :(得分:1)
你可以尝试
Object.values(q_play_list[0])
或者,如果发生这种情况,您可以使用正则表达式过滤掉非数字字符。
答案 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 );
}
}