我是使用AJAX方法的新手,并且完全被看似非常简单的程序所困扰。
我试图使用AJAX将数据发布到php文件,以便在我的服务器上创建一个文件夹。无论我尝试什么,似乎它实际上并没有将数据发布到php文件。我最终可以直接在'用户'中创建一个文件夹。文件夹,如果我从PHP文件中删除$ _POST命令...但第二个我尝试从发布的数据实际创建一个变量,所以它创建一个嵌套的子文件夹内的文件夹失败。
请帮忙。我失去了它。哈哈。有人建议另一个线程来解决下面的问题...但它似乎仍然无法正常工作。我使用的是该线程中建议的相同方法。
这是我的剧本:
<script type="text/javascript>
$('#buildSave').click(function() {
$.ajax({
url: "../php/preparesave.php",
type: "POST",
data: { user : 'Tommy' }
});
});
</javascript>
<?php
$user = $_POST['user'];
if (!file_exists('../users/' . $user . '/Platoons/')) { mkdir('../users/' . $user . '/Platoons/'); }
?>
答案 0 :(得分:2)
这是我建议使用的AJAX
$(document).ready(function(){
$('#save').click(function() {
$.ajax({
url: '../php/preparesave.php',
type: 'POST',
data: { user : 'Tommy' },
success: function(output){
alert(output);
}
});
});
});
以下是PHP(我在我的机器上试过它并且它可以工作)
$user = $_POST['user'];
if(!file_exists('../users/' . $user . '/Platoons/')){
if(mkdir('../users/' . $user . '/Platoons/', 0777, true)){
die('Success');
}else{
die("Folder `../users/{$user}/Platoons/` failed to be created");
}
}
你拥有它的方式,它只会尝试创建&#34; / Platoon&#34;在文件夹$user
(在您的示例中为Tommy)但该文件夹不存在,因此脚本失败。您需要将recursive
参数设置为true,这样它才会首先创建不存在的文件夹,然后创建其中的所有其他内容,然后再创建它们。
Allows the creation of nested directories specified in the pathname.
(直接来自文档)
答案 1 :(得分:1)
您的代码中有两个错误。尝试将您的行与下面的行进行比较。
$('#buildSave').click(function() {
$.ajax({
url: "../php/preparesave.php",
type: "POST",
data: { user : 'Tommy' }
});
});
答案 2 :(得分:0)
尝试编辑您的操作网址。如果您在/ php文件夹中调用ajax,请仅使用preparesave.php。尝试使用url:&#34; preparesave.php&#34;,如果这不起作用则使用 url:&#34; preparesave.php?user = Tommy&#34;, 希望它可以解决你的问题。