我用这个jquery从php获取数据:
var reserved=null;
$.ajax({
url: 'test.php',
type: 'GET',
dataType: 'html',
async: false,
success: function(data) {
reserved=data;
}
});
var res = new Array(reserved);
console.log(res);
来自 php 的数据如下所示: "2014-02-28", "2014-03-01", "2014-03-02"
console.log 返回以下内容: [""2014-02-28", "2014-03-01", "2014-03-02""]
和 jquery 不起作用
但是当我手动输入日期而不是保留时,它可以工作。
像这样: var res = new Array("2014-02-28", "2014-03-01", "2014-03-02");
和控制台.log ["2014-02-28", "2014-03-01", "2014-03-02"]
所以在我看来,问题在于数组开头和结尾的引号。它们可以被删除吗?
使用JSON.parse
var res = JSON.parse('['+reserved+']');
小提琴演示
尝试使用
var res = $.parseJSON(reserved);
console.log(res);
编辑:您不需要创建数组。
你需要在php中对结果进行编码,如下所示:
测试.php文件
//your code
echo(json_encode($your_array);
和你的阿贾克斯:
$.ajax({
url: 'test.php',
type: 'GET',
dataType: 'json',
async: false,
success: function(data) {
reserved=data;
}
});