首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Ajax >

如果通过ajax获取豆瓣API的JSON

2012-08-13 
【求助】如果通过ajax获取豆瓣API的JSONRT我想通过AJAX获取豆瓣API的json data。JS代码如下:JScript codefunc

【求助】如果通过ajax获取豆瓣API的JSON
RT
我想通过AJAX获取豆瓣API的json data。
JS代码如下:

JScript code
function testAjax() {           $.ajax({                url: "http://api.douban.com/book/subject/1220562?alt=json",                type: "GET",                dataType: "json",                success: function (data) {                   $("#name").html(data.category.title.$t);                   $("#age").html(data.category.author.name.$t);                   $("#content").html(data.category.content.$t);                }                })        }


但是报错了,error msg是:
XMLHttpRequest cannot load http://api.douban.com/book/subject/1220562?alt=json. Origin http://localhost:51011 is not allowed by Access-Control-Allow-Origin.

请问各位大师,我在哪一步错了???

我上网查了一下,有一种叫jsonp的跨域调用json的做法。 
改进了一下写法后,变成下面: 
JScript code
function testAjax() { $.ajax({ url: "http://api.douban.com/book/subject/1220562?alt=json", type: "GET", dataType: "json", success: function (data) { $("#name").html(data.category.title.$t); $("#age").html(data.category.author.name.$t); $("#content").html(data.category.content.$t); } }) } 

但是虽然这样能够取到data了,但好像在取到data后要编译一次, 
因为取到的data中有些肯定编译不过,于是又悲剧了。 
可能还是我的写法有问题吧,肯定各位大师指正!!!!!!!!!!

[解决办法]
LZ已经在javaeye
http://www.iteye.com/problems/86113
回复你了..
不知道这样是不是符合你的要求.

[解决办法]
1跨域了,需要做代理

2,jsonp也需要动态页处理你发送的参数你才能获取到,不知道你说的编译指什么。jQuery jsonp跨域原理

热点排行