2

阅读 Google Books API,他们有关于如何使用 REST API的文档,还提到了将 API 与客户端javascript一起使用。

我正在制作一个 phonegap/JQueryMobile 应用程序,我想使用 ajax 和 Google Books API 获取数据,但他们的 API 对我来说很难理解。

我要获取的是使用 $.ajax 方法的 JSONP 对象。

你有任何示例代码,使用 Google Books API 和使用 jQuery $.ajax 获取数据,可以在 phonegap 应用程序中工作。

我是否有提供回调方法的明确性,或者我是否为此而努力,只是令人困惑......

在这段代码中:

<body>
    <div id="content"></div>
    <script>
      function handleResponse(response) {
      for (var i = 0; i < response.items.length; i++) {
        var item = response.items[i];
        // in production code, item.text should have the HTML entities escaped.
        document.getElementById("content").innerHTML += "<br>" + item.volumeInfo.title;
      }
    }
    </script>
    <script src="https://www.googleapis.com/books/v1/volumes?q=harry+potter&callback=handleResponse"></script>
  </body>

从 Google Books API 他们说你可以获得 JSONP 数据,但我似乎无法掌握如何使用 jQUery $.ajax 和使用 jsonp 作为类型来做到这一点。

4

1 回答 1

3

只是为了让你开始,你可以这样做:

// Set the api variable
var googleAPI = "https://www.googleapis.com/books/v1/volumes?q=harry+potter";

// Make a ajax call to get the json data as response.
$.getJSON(googleAPI, function (response) {

    // In console, you can see the response objects
    console.log("JSON Data: " + response.items);

    // Loop through all the items one-by-one
    for (var i = 0; i < response.items.length; i++) {

        // set the item from the response object
        var item = response.items[i];

        // Set the book title in the div
        document.getElementById("content").innerHTML += "<br>" + item.volumeInfo.title;
      }
});

小提琴演示

于 2013-05-31T12:54:22.277 回答