$("#sign-in-btn").click(function () {
$.getJSON("fakedata.js", function(json){
alert("123");
});
return false; // 因为在form表单中,所以return false
});
这是js文件中的json数据
var data = {
"user": [
{
"id": "1",
"username": "Bill",
"password": "password"
},
{
"id": "2",
"username": "George",
"password": "password"
},
{
"id": "3",
"username": "Thomas",
"password": "password"
}
]
}
firebug中能看到可以读取到文件,但是就是不执行function(json){alert("123");}的内容。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
js文件中只保留一个json字符串,不能是表达式,因为读取到的内容不是json, 所以回调函数不执行
"var data =" 删除再试
这个问题似乎是JQuery的BUG,具体原因我也在研究中,希望题主能提供一些线索。
下面的代码来自JQuery v1.11.1
https://github.com/jquery/jquery/blob/1....
定位到771行的getJSON入口
定位到780行
事实上这个请求一切正常,你可以先尝试切换到原生的XMLHTTPRquest对象能否正常获取先。
补充:题主获取的js文件不是规范的json,建议修改一下数据原型。