#php #jquery #angularjs #ajax
#php #jquery #angularjs #ajax
Вопрос:
У меня простая проблема, но я не могу найти ошибку. Может быть, вы можете помочь. Вот мой запрос:
$http({
url:'api/create_plane.php',
method: "POST",
data: {
planeKey: $scope.editKey,
planeSQLID: $scope.editSQLID,
planeLMID: $scope.editLMID,
planeAFID: $scope.editAFID,
planeVersion: $scope.editVersion,
planeLot: $scope.editLot,
planeStation: $scope.editStation
},
dataType: 'json'
}).success(function(data, status, headers, config) {
console.log(data);
}, function(response) {
console.log(response);
});
Это мой Php-файл:
$Planes = array();
$MAX_PLANES = 45;
if (empty($_POST['planeLMID'])) {
for ($i = 1;$i < $MAX_PLANES;$i ) {
if (checkSQL($i)) {
$Planes[$i] = new createPlane($i,$db);
}
}
echo json_encode($Planes);
}
else {
for ($i = 1;$i < $MAX_PLANES; $i ) {
if ($Planes[$i]['planeSQLID'] == $_POST['planeSQLID']) {
echo "HALLO";
}
}
}
Однако я не вижу "Hallo"
в любое время. Мне нужна ваша помощь, ребята.
Комментарии:
1. В
else
случае$Planes
, если они пусты2. Задолго до того, как я перейду к пустым плоскостям, я получаю эхо-кодирование json
3. Вы получаете свой
echo json
в другом запросе4. Какую отладку вы выполнили? Какие шаги вы предприняли, чтобы исправить это до сих пор?
5. Нет, есть только 1 вывод на консоль, и это console.log (данные) выше
Ответ №1:
В create_plane.php файл, в котором вы пытаетесь использовать пустой массив $Planes, когда $_POST[‘planeLMID’] пуст.
Поэтому вам нужно извлекать массив $Planes каждый раз, независимо от того, получаете ли вы данные по почте. См. Измененный create_plane.php
$Planes = array();
$MAX_PLANES = 45;
for ($i = 1;$i < $MAX_PLANES;$i ) {
if (checkSQL($i)) {
$Planes[$i] = new createPlane($i,$db);
}
}
echo json_encode($Planes);
if(!empty($_POST['planeLMID'])) {
for ($i = 1;$i < $MAX_PLANES; $i ) {
if ($Planes[$i]['planeSQLID'] == $_POST['planeSQLID']) {
echo "HALLO";
}
}
}