我想使用AJAX调用来删除文件。它应该很简单,但出于某种原因,当使用AJAX访问$_SERVER['DOCUMENT_ROOT']
时出现错误我设置了一个HTML表单并且没有问题。让我显示代码使用JQuery AJAX时访问PHP全局变量
这是应该删除图像的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不返回错误(但我的图像不会删除!!)
我一直在抓我的头在这一个,我不知道如何发送根到页面。
感谢您的任何帮助。
什么是* exact *错误信息?如上所示的摘录没有这样的语法错误。 - 其次,仅仅因为它通过AJAX进入并不意味着你应该接受未经验证和未经授权的删除命令。文件名可能包含冗长的路径。 – mario 2012-02-01 23:43:37
@mario +1。另外,我不能肯定地说,除非$ _POST ['photo']'具有前导'/',那么它需要是'$ _SERVER ['DOCUMENT_ROOT']。 '/'。 $ photo_name;'至于令牌错误,发布有问题的行号和行的内容。确保你的'''(撇号)没有使用“花哨”'''(左/右单引号)。 – drew010 2012-02-01 23:49:08
您在jQuery选择器'$('#image_name')'中使用了单引号。我不知道你是否可以这样做,我曾经使用/看到过的所有工作代码...对选择器使用双引号。 – 2012-02-02 00:39:11