我正在尝试使用这个让您引用精确文本的api,但是getJson似乎不起作用,它只是返回null。
$.getJSON('http://api.biblia.com/v1/bible/content/KJV.json?key=MYAPIKEY=John+3:16-18&style=bibleTextOnly', function(data) {
alert(data);
});我只是拿出了密钥,我一直在用我的真实api密钥测试它,当我只是访问url时,它工作得很好。要让它正常工作,我还需要做什么吗?
这是当你在url中有一个api密钥时,你从url中得到的:
[“文”:“神爱世人,将独生子赐给他,叫一切信他的,不至灭亡,反得永生。因为神差他的儿子来,不是要定世人的罪,乃是叫世人借着他得救。信他的,必不被定罪。不信的,已经被定罪了,因为他不信神独生子的名。”}
发布于 2010-05-19 06:21:36
试一试,只是为了测试一下:
$.ajax({
url: 'http://api.biblia.com/v1/bible/content/KJV.json?key=MYAPIKEY=John+3:16-18&style=bibleTextOnly',
dataType: 'json',
success: function(data) { alert(data); }
});这对你有效吗?
发布于 2010-05-19 06:24:25
key=MYAPIKEY=John+3:16-18
参数值是否已采用URL编码?看起来不像。=、+和:是URL中的reserved characters。
试着这样做:
key=MYAPIKEY%3DJohn%2B3%3A16-18
要在JS中自己完成此操作,请通过encodeURIComponent()传递MYAPIKEY=John+3:16-18,并在查询字符串中使用其返回值。
发布于 2011-01-15 01:03:29
我很确定你遇到了跨域的请求限制。您最好的选择是使用JSONP而不是JSON (假设api.biblia.com支持JSONP):
http://api.jquery.com/jQuery.ajax (请参阅该页面上关于JSONP数据类型的讨论)
https://stackoverflow.com/questions/2861539
复制相似问题