【发布时间】:2014-08-27 10:45:47
【问题描述】:
我正在尝试从ISBNdb API 提交用户表单时提取图书数据。我根据需要在 url 中使用 JSON。截至目前,我正在使用该表格通过books category 进行搜索(请参阅页面的一半左右)。当我输入搜索词时,控制台中出现 2 个错误:
资源解释为脚本但以 MIME 类型传输 文本/纯文本: “http://isbndb.com/api/v2/json/J6FR9HT6/books?jsoncallback=jQuery1111037271023145876825_1404698815454&q=science&_=1404698815455”。
jquery.min.js:4 Uncaught SyntaxError: Unexpected token :
我看到了我期待的q=science,但是 jQuery 似乎要添加的所有其他内容是什么?非常感谢任何帮助!
<!DOCTYPE html>
<html lang="">
<head>
<meta charset="utf-8">
<title></title>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script>
$(document).ready(function() {
$('form').submit(function (event) {
event.preventDefault();
var searchTerm = $('#search').val();
// the AJAX part
var isbndbAPI = 'http://isbndb.com/api/v2/json/J6FR9HT6/books?jsoncallback=?';
var bookOptions = {
q: searchTerm
};
function displayBookData(data) {
var bookHTML = '<ul>';
$.each(data.data,function(i,book) {
bookHTML += '<li>';
bookHTML += book.title;
bookHTML += '</li>';
}); // end each
bookHTML += '</ul>';
$('#book-results').html(bookHTML);
}
$.getJSON(isbndbAPI, bookOptions, displayBookData);
}); // end submit
}); // end ready
</script>
</head>
<body>
<form>
<label for="search">Type a search term</label>
<input type="search" name="search" id="search">
<input type="submit" value="Search" id="submit">
</form>
<div id="book-results"></div>
</body>
</html>
更新
似乎接收到 JSON 回来了,我可以在控制台中看到结果。仍然感到困惑,因为这对我来说是全新的。另外,我也可能无法正确地将其显示为 HTML。
【问题讨论】:
-
query.yahooapis.com/v1/public/yql?q=select%20*%20from%20json%20where%20url%3D%22http%3A%2F%2Fisbndb.com%2Fapi%2Fv2%2Fjson%2FJ6FR9HT6%2Fbooks%3Fq%3Dscience%22&format=json&callback =我的回调
-
@ansarob 见帖子,developer.yahoo.com/yql。谢谢
标签: javascript jquery json api jsonp