jQuery Ajax Post,但预期的PHP代码未运行

时间:2019-10-12 06:18:47

标签: javascript php jquery html

我正在尝试在本地服务器上建立一个简单的网页。该网页上有一个按钮,在本地客户端上按下该按钮时,我希望在服务器上创建目录。 PHP在服务器端运行,而jquery在客户端运行。

我在test.php中的PHP代码:<?php mkdir('/home/pablo/test_dir', 0777, true); ?>

script.js中的jquery / ajax:

var toggleOutlet = function(buttonClicked) {
    $.ajax({
        url: 'test.php',
        success: function(data) {
            alert('Directory created!');
        }
    });
};
$(function() {
    $('.toggleOutlet').click(function() {
        toggleOutlet($(this));
    });
});

当我按下客户端上的按钮时,我确实得到了“目录创建!”警报,但在服务器上未创建test_dir。我究竟做错了什么?? 为了完整起见,我的html是:

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>MyWeb</title>
  <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css">
</head>

<body>

  <div class="container">
    <label>Example Button</label>
    <div class="btn-group btn-group-justified" role="group" aria-label="...">
      <div class="btn-group" role="group">
        <button type="button" data-outletId="1" data-outletStatus="on" class="btn btn-default toggleOutlet">On</button>
      </div>
    </div>

  </div>
</body>
<script src="//code.jquery.com/jquery-3.2.0.min.js"></script>
<script src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
<script src="script.js"></script>
</html>

1 个答案:

答案 0 :(得分:0)

您好@ pablo919您需要检查目录“ / home / pablo”是否具有写权限,否则您可以更改代码ajax并添加函数错误以检查内容。

示例:

$.ajax({
        url: 'test.php',
        success: function(data) {
            alert('Directory created!');
        },
        error: function (jqXHR, exception) {
                alert('Uncaught Error.\n' + jqXHR.responseText);
        }

    });