我是JSONP
的新手,下面是我的情况:
我使用PHP
来编写一个带有JSON
内容的js文件,供前端阅读,我尝试了下面的方式,但是它有效。
但是,我想问一下
A)是否有必要在jsoncallback()
中加入JSON
来包装album.js
内容?
B)使用$.getScript()
读取包含跨域的JSON内容的js文件是否合适?
由于
1。用于加载js文件的代码
$.getScript("http://127.0.0.1:8080/album.js")
function jsoncallback (data){
$.each(data, function() {
console.log($(this))
})
}
2。 album.js内容
jsoncallback([{
"id": "23",
"author": "roy",
"email": "a",
"age": "0",
"tel": "1",
"title": "test",
"image_name": "Lighthouse.jpg",
"image_type": "image\/jpeg",
"image_size": "561276",
"status": "1",
"create_date": "2013-04-03 14:39:32",
"modify_date": "2013-04-09 19:25:07"
}, {
"id": "22",
"author": "roy",
"email": "a",
"age": "0",
"tel": "1",
"title": "test",
"image_name": "Desert.jpg",
"image_type": "image\/jpeg",
"image_size": "845941",
"status": "1",
"create_date": "2013-04-03 14:39:29",
"modify_date": "2013-04-09 19:25:02"
}
])
答案 0 :(得分:1)
A和B:是的。这就是JSONP的工作原理。
您可以将其重写为:
$.ajax({
url: "http://127.0.0.1:8080/album.js",
jsonpCallback: "jsonpcallback",
jsonp: false,
dataType: "jsonp"
}).done(function(data){
console.log(data); // array of objects
});