Я использую Laravel в качестве Backend и генерирую API с помощью JSON, и я использую php для получения данных json и удаления данных по маршруту api в laravel, но, похоже, он не работает. Мой маршрут API в laravel
Route::delete('articles/{article}', 'ArticleController@delete');
Мой Контроллер
public function delete(Article $article)
{
$article->delete();
return response()->json(null);
}
Мой URL-адрес API
http://192.168.0.21/api/articles/id
Мой код внешнего интерфейса PHP для удаления
$json = file_get_contents('http://192.168.0.21/api/articles/' . $id);
$json_data = json_decode($json, true);
unset($json_data['id']);
Любое решение для этого?
@ Jigs1212 ты можешь дать ответ?
Что ты пытаешься сделать? Что не работает? Почему вы возвращаете null в json, а затем отключаете от него идентификатор? (которого все равно не существует). Пожалуйста, предоставьте дополнительную информацию
@ StyleSh1t Я хочу удалить контент по идентификатору, но не могу его удалить
@ Jigs1212 Как я могу использовать маршрут удаления в PHP ??
Покажите нам, как вы вызываете вызов ajax или api ??






Вы устанавливаете метод маршрута на DELETE, но запрашиваете его с помощью file_get_contents, то есть GET.
Вам нужно использовать завиток:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://192.168.0.21/api/articles/' . $id);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "DELETE");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
$result = json_decode($result);
curl_close($ch);
все еще могу удалить это
@The Rock не могли бы вы поделиться своим новым кодом? Есть ли ошибки?
нет ошибок, но я не могу удалить данные, которые использую в своем маршруте
но когда я использую Postman и передаю этот URL-адрес и метод удаления, все в порядке
Donu установил curl на вашем сервере.
Я не уверен, можете ли вы показать мне, как я могу установить завиток ??
а curl для чего нужен?
Какая у вас операционная система? Какой сервер вы используете? В любом случае, если ваши ошибки продолжаются, вы должны получить сообщение об этом. Убедитесь, что вы установили ошибки php, чтобы убедиться, что проблема в curl.
Используйте этот ответ, чтобы найти свой php.ini: stackoverflow.com/a/13984489/3829526 и этот ответ, чтобы установить ошибки: stackoverflow.com/a/21429652/3829526
Маршрут
Передайте идентификатор в {id}, идентификатор записи, которую вы хотите удалить.
Route::delete('articles/{id}', 'ArticleController@delete');
ArticleController
public function delete($id) {
$article = Article::findOrFail($id);
if ($article)
$article->delete();
else
return response()->json(error);
return response()->json(null);
}
ЗВОНОК AJAX
$.ajax({
url: BASE_URL + '/articles/'+ id,
type: 'DELETE',
})
.done(function() {
console.info("success");
})
.fail(function() {
console.info("error");
})
.always(function() {
console.info("complete");
});
Все еще не могу удалить это
Как ты называешь маршрут?
$ json = file_get_contents ('192.168.0.21/api/articles'. $ id); $ json_data = json_decode ($ json, истина); отключено ($ json_data ['id']);
Как мой вопрос
Можете ли вы попробовать использовать вызов jquery ajax или вам нужен только php?
В чем ошибка? Как вы подтверждаете, удалена ли запись?
запись удалить из моей базы данных
но когда я использую Postman и передаю этот URL-адрес и метод удаления, все в порядке
Я не уверен, как работает file_get_contents, но попробуйте jquery ajax, поскольку запись удалена, попробуйте новые записи
Позвольте нам продолжить обсуждение в чате.
попробуйте передать только идентификатор, а затем получить запись и удалить ее.
public function delete($id) { $article = Article::findOrFail($id); $article->delete(); return response()->json(null); }