如何使用jquery AJAX将数据传递到php文件

时间:2018-02-24 02:34:51

标签: php jquery ajax post

我是使用AJAX方法的新手,并且完全被看似非常简单的程序所困扰。

我试图使用AJAX将数据发布到php文件,以便在我的服务器上创建一个文件夹。无论我尝试什么,似乎它实际上并没有将数据发布到php文件。我最终可以直接在'用户'中创建一个文件夹。文件夹,如果我从PHP文件中删除$ _POST命令...但第二个我尝试从发布的数据实际创建一个变量,所以它创建一个嵌套的子文件夹内的文件夹失败。

请帮忙。我失去了它。哈哈。

有人建议另一个线程来解决下面的问题...但它似乎仍然无法正常工作。我使用的是该线程中建议的相同方法。

这是我的剧本:

JQuery的

<script type="text/javascript>
    $('#buildSave').click(function() {
        $.ajax({
            url: "../php/preparesave.php", 
            type: "POST",
            data: { user : 'Tommy' }
        });
    });
</javascript>

PHP

<?php
    $user = $_POST['user'];

    if (!file_exists('../users/' . $user . '/Platoons/')) { mkdir('../users/' . $user . '/Platoons/'); } 

?>

3 个答案:

答案 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;, 希望它可以解决你的问题。