Я пытаюсь удалить файл с помощью вызова AJAX. Это должно быть достаточно простым, но по какой-то причине я получаю сообщение об ошибке при попытке доступа к $_SERVER['DOCUMENT_ROOT']
при использовании AJAXДоступ к глобальным переменным PHP при использовании JQuery AJAX
Я создал форму HTML и нет проблем. Позвольте мне показать код
Это PHP, который должен удалить изображение.
$photo_name = $_POST['photo'];
$cat_id = $_POST['cat_id'];
$original_path = $_SERVER['DOCUMENT_ROOT'].$photo_name;
if(file_exists($original_path))unlink($original_path);
$data['success']=true;
Запуск JQuery ниже доходностей ошибка синтаксиса: Неожиданный Токен
$.ajax({
type : 'POST',
url : "includes/json_delete_photo.php",
dataType : 'json',
data: {
'photo': $('#image_name').val(),
'cat_id': $("#category_id").val(),
},
success : function(data){
alert("done");
},
error : function(XMLHttpRequest, textStatus, errorThrown) {
alert("problem: " + errorThrown);
}
});
Однако, просто используя форму HTML, чтобы представить json_delete_photo.php без AJAX работает, и если я удалю использование $_SERVER['DOCUMENT_ROOT']
из моего PHP, AJAX не возвращает ошибку (но мое изображение не удаляет !!)
Я почесал голову над этим, и я не уверен, как отправить корень на страницу.
Спасибо за любую помощь.
Что такое * точное сообщение об ошибке? Выдержка, как показано выше, не имеет такой синтаксической ошибки. - А во-вторых, только потому, что он приходит через AJAX, это не значит, что вы должны принимать непроверенные и неавторизованные команды удаления. Имя файла может содержать длинный путь. – mario
@mario +1. Кроме того, я не могу сказать наверняка, но если '$ _POST ['photo']' имеет ведущий '/', тогда он должен быть '$ _SERVER ['DOCUMENT_ROOT']. '/'. $ photo_name; 'Что касается ошибки токена, отправьте номер строки и содержимое строки. Убедитесь, что ваш '' '(апострофа) не использует« причудливую »' '' (левую/правую одиночную кавычку). – drew010
Вы использовали одинарные кавычки в селекторе jQuery '$ ('# image_name')'. Я не уверен, что вы можете это сделать, весь рабочий код, который я когда-либо использовал/видел ... используйте двойные кавычки для селекторов. –