出于某种原因,当我在main.js
文件中执行AJAX请求时,出现错误:
Undefined index: id in sqlinfo.php on line 13
而且我不确定为什么,因为我觉得我正在填写request
对象。同样奇怪的是,这有效:
$requestType = filter_input(INPUT_POST, 'requestType', FILTER_SANITIZE_STRING);
那么为什么$_POST['id']
不起作用?
如果有人能告诉我我正在犯的错误会很棒!
注意:我知道albumId
有一个值,因为我已经使用console.log()
来验证它是否有值。
main.js
$(document).ready(function () {
$(".grid").on("click", ".edit", function (){
var albumId = $(this).siblings(".grid-info").attr("id");
var imageId = $(this).siblings("img").attr("id");
var request = (albumId == '') ? {requestType: 'Album', id: albumId} : {requestType: 'Image', id: imageId};
var getSQLInfo = $.ajax({
url: '../P3_M2/ajax/sqlinfo.php',
method: 'post',
data: request,
dataType: 'json',
error: function(error) {
console.log(error);
}
});
});
sqlinfo.php
<?php
require_once('../configsql.php');
$queryFor = array(
'Album' => 'SELECT * FROM Album WHERE id = ?',
'Image' => 'SELECT * FROM Image WHERE id = ?');
$requestType = filter_input(INPUT_POST, 'requestType', FILTER_SANITIZE_STRING);
if (empty($requestType)) {
echo 'Missing requestType.';
die();
}
$id = $mysqli->real_escape_string($_POST['id']); //getting undefined index id
?>
答案 0 :(得分:0)
感谢@v Sugumar我在分配GoogleRefreshTokenClient
时意识到我有错误的布尔值(==
)。将其更改为request
修复它:
!=