script只能读取当前服务器的资源,当需要跨域访问其它服务器上的资源时可通过<script src="http://localhost/a.php?callback=jsnop&_=123456">来引入外部资源。
src属性返回的内容必须为合格的js代码,例如json([]),正常的js代码,而{}形式的对象并不是合格的js代码,所以会报错。
myObj = { "name":"网站", "num":3, "sites": [ { "name":"Google", "info":[ "Android", "Google 搜索", "Google 翻译" ] }, { "name":"Runoob", "info":[ "教程", "工具", "微信" ] }, { "name":"Taobao", "info":[ "淘宝", "网购" ] } ] }
<html>
<head>
<title>json data</title>
<script src="script.js"></script>
<script src="http://localhost/json.php?content=json&callback=jsonclick">
</head>
<body>
<div id="jsondata"></div>
</body>
</html>
script.js的内容为
windows.addEventListener("Load",initAll,false);
var jsondata="";
function initAll(){
document.getElementById("jsondata").innerHTML = jsonclick;
}
function jsonclick(jsondata){
for(var i = 0;i<jsondata.items.length;i++){
jsondata += "<p>";
jsondata += jsondata.items[i];
jsondata += "</p>";
}
}
jsondata内容为:
jsonclick({"items":["first","second"})