我试图用XHR请求(AJAX)将信息提取到php文件(这个php文件通过json文件获取信息也带有Get请求)所以当我尝试执行console.log时(Checker) )在控制台上,它返回Undefined,如果我发出警报(Checker),则返回[object Object]。我该如何解决?
PHP:
<?php
headers('Content-Type', 'application/json')
$jsonContents = file_get_contents('../data/data.json');
echo $jsonContents
?>
JS:
function start() {
$.ajax({
type: 'GET',
url: 'api/domain/showall.php',
dataType: 'json',
success: function(data) {
alert(data)
displayTheData(data)
}
});
}
function displayTheData(data) {
Checker = data;
JSON.stringify(Checker)
console.log(Checker)
window.Checker = Checker;
}
JSON:
[{"name":"Google","url":"google.es","id":1}]
答案 0 :(得分:2)
在这里你是strigify数据但不是存储值i any var。
function displayTheData(data) {
Checker = data;
var displayChecker = JSON.stringify(Checker) /// add displayChecker
console.log(displayChecker ) // print it
window.Checker = Checker;
}
没有displayTheData()函数,所以首先调用它并传递响应参数。
答案 1 :(得分:1)
你需要回应JSON响应!更改返回$ jsonContents;回显$ jsonContents;它会工作!!!
答案 2 :(得分:0)
你必须将数据解析为正文(不返回在函数之外没有任何意义的数据),并且,无论如何更好,填充一些标题。一种非常简约的方法可能是:
<?php
headers('Content-Type', 'application/json');
$jsonContents = file_get_contents('../data/data.json');
echo $jsonContents // echo JSON string
?>