我想在页面加载时加载JSON。我找到了两种方法但是下面两种方法之间的区别在于读取JSON。
<script type="text/javascript" src="assets/json/mainpage.json"></script>
//code for what to do with this
另一种方法是
$.getJSON("assets/json/mainpage.json")
答案 0 :(得分:0)
您没有找到两种不同的方法。
第一个版本不是它的工作原理。
您可以使用脚本标记加载使用对象表示法的JavaScript对象,所以
<script type="text/javascript" src="assets/json/mainpage.js"></script>
可以包含
var myJSObject = { "key":"value" };
而第二种方法会调用返回(静态或生成)内容的内容,如
{ "key":"value" }
例如
$.getJSON("assets/json/mainpage.php");
会调用服务器进程
header("content-type: application/json");
echo '{ "key":"value" }';
答案 1 :(得分:0)
如果SELECT SUM(time) AS total_time FROM times WHERE 1
返回纯JSON,则第一种方法完全错误,因为标记assets/json/mainpage.json
旨在提供某种脚本语言,JSON不是脚本语言。但是,看到类似这种方法的东西并非不可能。如果<script>
支持JSON填充,主要知道为JSONP,则以下代码段完全有效:
assets/json/mainpage.json
只要服务器在响应标头上将结果作为<script type="text/javascript" src="assets/json/mainpage.json?callback=fn"></script>
返回并将结果包装在.json
中,您就可以保留Content-Type: javascript/text
扩展名(或任何您喜欢的扩展名)功能。请注意,callback
参数的值必须是可全局访问的函数的名称。
第二种方法与对JSON进行ajax调用并解析其内容相同。这是你应该使用的,两者之间。虽然如果没有回复或承诺回应它会毫无用处。
callback
希望它有所帮助。