Я успешно сделал публикацию выборки в своем php API с помощью функции thisWorks(), но я пытаюсь использовать выборку с функцией async/await post(), но при попытке сделать это продолжаю получать ответ внутренней ошибки сервера 500, который я не уверен, как отлаживать, поскольку мой код в моей асинхронной функции в основном такой же, как и в thisWorks().
вот две функции -
//I can make a succesful post to my api with this function and it returns a 200 ok response from the server
function thisWorks(title, message, author, id) {
fetch("http://menu.com/menu/api/post/create.php", {
method: "POST",
headers: new Headers(),
body: JSON.stringify({
'title' : title,
'body' : message,
'author' : author,
'category_id' : id
})
})
.then( (response) => {
console.log(response);
});
}
//this gives a 500 internal server error and TypeError: "NetworkError when attempting to fetch resource."
const post = async (title, message, author, id) => {
const location = "http://menu.com/menu/api/post/create.php";
const settings = {
method: 'POST',
headers: new Headers({
'Accept' : 'application/json',
'Content-Type': 'application/json'
}),
body: JSON.stringify({
'title' : title,
'body' : message,
'author' : author,
'category_id' : id
})
};
try {
const response = await fetch(location, settings);
const json = await response.json();
console.log(json);
return json;
} catch (error) {
console.log(error);
return error;
}
}
Раньше я получал ту же самую внутреннюю ошибку сервера 500 в thisWorks, и в журнале ошибок на моем сервере Apache были те же ошибки, которые я сейчас получаю в своей асинхронной функции публикации, а именно:
[Sun Feb 17 18:21:11.122109 2019] [php7:warn] [pid 890] [client 127.0.0.1:37548] PHP Warning: Header may not contain more than a single header, new line detected in /home/orpheus/Practice_dev/menu/api/post/create.php on line 7
[Sun Feb 17 18:21:11.122452 2019] [php7:notice] [pid 890] [client 127.0.0.1:37548] PHP Notice: Trying to get property 'title' of non-object in /home/orpheus/Practice_dev/menu/api/post/create.php on line 22
[Sun Feb 17 18:21:11.122471 2019] [php7:notice] [pid 890] [client 127.0.0.1:37548] PHP Notice: Trying to get property 'body' of non-object in /home/orpheus/Practice_dev/menu/api/post/create.php on line 23
[Sun Feb 17 18:21:11.122477 2019] [php7:notice] [pid 890] [client 127.0.0.1:37548] PHP Notice: Trying to get property 'author' of non-object in /home/orpheus/Practice_dev/menu/api/post/create.php on line 24
[Sun Feb 17 18:21:11.122482 2019] [php7:notice] [pid 890] [client 127.0.0.1:37548] PHP Notice: Trying to get property 'category_id' of non-object in /home/orpheus/Practice_dev/menu/api/post/create.php on line 25
[Sun Feb 17 18:21:11.122743 2019] [php7:error] [pid 890] [client 127.0.0.1:37548] PHP Fatal error: Uncaught PDOException: SQLSTATE[HY000]: General error: 1366 Incorrect integer value: '' for column 'category_id' at row 1 in /home/orpheu$
Проблема была не в моем php-коде, а в моем запросе на выборку, и я решил ее, добавив в запрос новые заголовки(), и это сработало. Поэтому я уверен, что проблема в какой-то ошибке в том, как я вызываю функцию async post(), но я не знаю, что изменить.
РЕДАКТИРОВАТЬ-
Это мои заголовки в create.php. Они принимают тип контента — application/json, поэтому я не понимаю, почему я не могу добавить его в свои запросы ajax на получение без ошибок
header('Access-Control-Allow-Origin: *');
header('Content-Type: application/json');
header('Access-Control-Allow-Methods: POST, OPTIONS');
header("Access-Control-Max-Age: 3600");
header('Access-Control-Allow-Headers: Access-Control-Allow-Headers,Content-Type,Access-Control-Allow-Methods,
Authorization, X-Requested-With, Content-Type, Authorization');
Подробнее здесь: https://stackoverflow.com/questions/547 ... rver-error
Как создать сообщение Async/await fetch? получаю 500 внутреннюю ошибку сервера ⇐ Php
Кемеровские программисты php общаются здесь
1762795287
Anonymous
Я успешно сделал публикацию выборки в своем php API с помощью функции thisWorks(), но я пытаюсь использовать выборку с функцией async/await post(), но при попытке сделать это продолжаю получать ответ внутренней ошибки сервера 500, который я не уверен, как отлаживать, поскольку мой код в моей асинхронной функции в основном такой же, как и в thisWorks().
вот две функции -
//I can make a succesful post to my api with this function and it returns a 200 ok response from the server
function thisWorks(title, message, author, id) {
fetch("http://menu.com/menu/api/post/create.php", {
method: "POST",
headers: new Headers(),
body: JSON.stringify({
'title' : title,
'body' : message,
'author' : author,
'category_id' : id
})
})
.then( (response) => {
console.log(response);
});
}
//this gives a 500 internal server error and TypeError: "NetworkError when attempting to fetch resource."
const post = async (title, message, author, id) => {
const location = "http://menu.com/menu/api/post/create.php";
const settings = {
method: 'POST',
headers: new Headers({
'Accept' : 'application/json',
'Content-Type': 'application/json'
}),
body: JSON.stringify({
'title' : title,
'body' : message,
'author' : author,
'category_id' : id
})
};
try {
const response = await fetch(location, settings);
const json = await response.json();
console.log(json);
return json;
} catch (error) {
console.log(error);
return error;
}
}
Раньше я получал ту же самую внутреннюю ошибку сервера 500 в thisWorks, и в журнале ошибок на моем сервере Apache были те же ошибки, которые я сейчас получаю в своей асинхронной функции публикации, а именно:
[Sun Feb 17 18:21:11.122109 2019] [php7:warn] [pid 890] [client 127.0.0.1:37548] PHP Warning: Header may not contain more than a single header, new line detected in /home/orpheus/Practice_dev/menu/api/post/create.php on line 7
[Sun Feb 17 18:21:11.122452 2019] [php7:notice] [pid 890] [client 127.0.0.1:37548] PHP Notice: Trying to get property 'title' of non-object in /home/orpheus/Practice_dev/menu/api/post/create.php on line 22
[Sun Feb 17 18:21:11.122471 2019] [php7:notice] [pid 890] [client 127.0.0.1:37548] PHP Notice: Trying to get property 'body' of non-object in /home/orpheus/Practice_dev/menu/api/post/create.php on line 23
[Sun Feb 17 18:21:11.122477 2019] [php7:notice] [pid 890] [client 127.0.0.1:37548] PHP Notice: Trying to get property 'author' of non-object in /home/orpheus/Practice_dev/menu/api/post/create.php on line 24
[Sun Feb 17 18:21:11.122482 2019] [php7:notice] [pid 890] [client 127.0.0.1:37548] PHP Notice: Trying to get property 'category_id' of non-object in /home/orpheus/Practice_dev/menu/api/post/create.php on line 25
[Sun Feb 17 18:21:11.122743 2019] [php7:error] [pid 890] [client 127.0.0.1:37548] PHP Fatal error: Uncaught PDOException: SQLSTATE[HY000]: General error: 1366 Incorrect integer value: '' for column 'category_id' at row 1 in /home/orpheu$
Проблема была не в моем php-коде, а в моем запросе на выборку, и я решил ее, добавив в запрос новые заголовки(), и это сработало. Поэтому я уверен, что проблема в какой-то ошибке в том, как я вызываю функцию async post(), но я не знаю, что изменить.
РЕДАКТИРОВАТЬ-
Это мои заголовки в create.php. Они принимают тип контента — application/json, поэтому я не понимаю, почему я не могу добавить его в свои запросы ajax на получение без ошибок
header('Access-Control-Allow-Origin: *');
header('Content-Type: application/json');
header('Access-Control-Allow-Methods: POST, OPTIONS');
header("Access-Control-Max-Age: 3600");
header('Access-Control-Allow-Headers: Access-Control-Allow-Headers,Content-Type,Access-Control-Allow-Methods,
Authorization, X-Requested-With, Content-Type, Authorization');
Подробнее здесь: [url]https://stackoverflow.com/questions/54738811/how-to-make-an-async-await-fetch-post-getting-500-internal-server-error[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия