gpt4 book ai didi

php - Ajax 和 Google 图书

转载 作者:行者123 更新时间:2023-11-29 12:31:57 27 4
gpt4 key购买 nike

我正在通过检索 JSON 数据将一些 Google 图书信息发送到我的数据库。我的代码如下

$.ajax({
type: 'POST',
url: 'addIsbnScript.php',
data: {
'isbn' : isbn,
'title' : entry.volumeInfo.title,
'subtitle' : entry.volumeInfo.subtitle||'not available',
'author' : entry.volumeInfo.authors[0]||'not available',
'category' : entry.volumeInfo.categories ||'not available',
'description' : entry.volumeInfo.description ||'not available'
},
});

addIsbnScript.php

$title = $_POST['title'];
$category = $_POST['category'];
$author = $_POST['author'];
$isbn = $_POST['isbn'];
$subtitle = $_POST['subtitle'];
$description = $_POST['description'];

$query = $conn->prepare("INSERT INTO `book` (title,category,author,isbn,subtitle,description) VALUES (?,?,?,?,?,?)");
$query->bind_param('ssssss',
$title,
$category,
$author,
$isbn,
$subtitle,
$description
);
$query->execute();

大多数时候所有数据都会成功发送,但是我注意到两件事;

  • 如果 JSON 中有多个类别,则“Array”一词为发送到我的数据库。

  • 如果 JSON 中没有作者,我的脚本就不会运行,并且我在控制台中收到以下错误;

    未捕获类型错误:无法读取未定义的属性“0”

对 JS 和 PHP 非常陌生,因此欢迎任何建议和指导。

最佳答案

在使用数组下标[0]之前,您需要检查entry.volumeInfo.authors是否存在。

'author' : (entry.volumeInfo.authors ? entry.volumeInfo.authors[0] : 'not available'),

如果类别与作者是类似的字段,您可以对类别执行类似的操作:

'category' : (entry.volumeInfo.categories ? entry.volumeInfo.categories[0] : 'not available'),

上面,我使用的是 ternary operator添加条件内联。

关于php - Ajax 和 Google 图书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27358559/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com