【问题标题】:I want to request JSON inside of a WordPress page我想在 WordPress 页面中请求 JSON
【发布时间】:2010-06-10 21:08:23
【问题描述】:

在过去的几个小时里,我一直在尝试在 WordPress 博客上设置这个 http://code.google.com/apis/books/docs/dynamic-links.html。 Google 的 API 发回一个 JSON 响应(应该“放入”到 _GBSBookInfo 变量中)。但是,从未分配过该变量,因此我的 javascript 回调函数会爆炸,说该变量不存在。到目前为止,我所有的 javascript 都在 WordPress 标头中。

我在 WordPress 之外尝试过,效果很好。

这是静态页面:

<script src="http://books.google.com/books?bibkeys=0307346609&jscmd=viewapi&callback=response_handler">

这是处理程序:

function response_handler(data) { 
   var bookInfo = _GBSBookInfo["0307346609"]; // the var that doesn't exist
   document.getElementById("test123").innerHTML = bookInfo.thumbnail_url;
} 

提前感谢您的任何帮助,WordPress 受到如此多的限制而感到非常沮丧!如果我在做任何愚蠢的事情,请说出来,我是一个新的 javascript 程序员。

编辑:

到目前为止,我已经使用 firebug 来确定问题所在:_GBSBookInfo 变量永远不会“创建”或“存在”。我不确定javascript在这个级别是如何工作的。希望这会有所帮助。

错误:

错误:_GBSBookInfo 未定义 线路:79

【问题讨论】:

  • Javascript 错误控制台中是否有任何错误消息?
  • 是的,关于那个变量。现在在 EDITS 下发布。

标签: javascript json wordpress


【解决方案1】:

尝试将_GSBookInfo 替换为data,如下所示:

function response_handler (data) {
    var bookInfo = data["0307346609"];
    document.getElementById("test123").innerHTML = bookInfo.thumbnail_url;
}

根据您的帖子,谷歌返回:

response_handler({
    "0307346609": {
        "bib_key":"0307346609",
        ....
        "thumbnail_url":"http://bks2.books.google.com/books?somethumbnailstuff"
    }
});

...所以上面的代码应该适合你。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-27
    • 1970-01-01
    • 2023-02-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多