3

我是新手JSONP,以下是我的情况:

PHP用来写一个js文件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"
    }
])
4

1 回答 1

1

甲和乙:是的。这就是 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
});
于 2013-04-11T05:01:23.053 回答