我试图使用$ .getJSON来获取json文件:
$.getJSON('json/resume.json', function(data){
alert('success');
});
但警报信息未来,我试过:
$.ajax({
type: 'POST',
url: 'json/download.php',
}).success(function(){alert("hello")});
在这种情况下,警报将以HELLO的形式出现。
我完全陷入困境。 请帮忙
由于
答案 0 :(得分:2)
您正在对两个不同的网址使用两个不同的请求,并将它们比较为相同,第一个是json / resume.json,第二个是POST到json / download.php。第一次调用失败的唯一原因是其中之一:
json/resume.json does not exist
json/resume.json does not contain valid json
您需要设置全局ajax错误处理程序,以便从getJSON获取错误,或者通过类似的ajax运行相同的json查询:
$.ajax({
url: 'json/resume.json',
type: 'GET',
dataType: 'json'
success: function(response) {
console.log(response)//should come into console anyway
},
error: function(request, type, errorThrown) {
message = (type=='parseerror') ? "json is invalid" : "(" + request.status + " " + request.statusText + ").";
alert("error with request: "+message);
}
})
答案 1 :(得分:0)
第一个是GET,第二个是POST - 您是否在浏览器中使用开发工具并检查NET选项卡是否存在服务器500错误?
如果您的服务器方法只接受那些麻烦的POST。
答案 2 :(得分:0)
您的服务器端脚本未返回有效的JSON,或未将Content-Type
响应标头设置为application/json
。
因此,在尝试使用$.getJSON
使用脚本之前,请确保满足这两个条件:
<?php
header('Content-Type: application/json');
$arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5);
echo json_encode($arr);
?>
答案 3 :(得分:0)
我认为你应该检查你的getJSON()中发生的错误,例如
$.getJSON('json/resume.json', function(data){
alert('success');
}).error(function(e, m) { alert('error'); console.log(m); });