getJSON request fails
我有一个json文件,当点击一个按钮时,一些数据会附加到html文档中的div中:
HTML:
1 | <button id="one"></button> |
这里的javascript:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | function one(){ $("#one").click(function(){ $.getJSON('one.json',function(data){ alert("success"); }) .done(function() { alert('getJSON request succeeded!'); }) .fail(function() { alert('getJSON request failed! '); }) .always(function() { alert('getJSON request ended!'); }); }); } $(document).ready(function() { one(); }); |
one.json文件位于js文件的同一目录中。 当我点击按钮时,警报就是
"getJSON请求失败"......哪里出错?
看看以下代码是否有效: -
1 2 3 | $.getJSON('/YourDirectory/one.json',function(data){ alert("success"); }) |
您的Ajax请求将查看当前页面的URL,因此如果您在:
-
mysite.com/index.html ,它将在mysite.com/one.json 上查找
和
-
mysite.com/category/index.html ,它会看
mysite.com/category/one.json
如果您有一个现代浏览器,则可以打开开发人员控制台以查看确切的请求是什么。
好吧,要么删除getJSON方法中的成功回调,要么使用
1 2 3 4 5 6 7 8 9 10 11 12 | function one(){ $("#one").click(function(){ $.getJSON('path/to/one.json') .done(function() { alert('getJSON request succeeded!'); }) .fail(function() { alert('getJSON request failed! '); }) .always(function() { alert('getJSON request ended!'); }); }); } $(document).ready(function() { one(); }); |
如果您从网址开放html
1 | localhost:80/project/test.html |
然后json路径将是
1 | localhost:80/project/one.json |
因此,请确保html和json在同一个文件夹中。
要么
获取