javascript - Jquery Ajax Post 但预期的 PHP 代码未运行
问题描述
我正在尝试在本地服务器上设置一个简单的网页。该网页有一个按钮,当在本地客户端上按下该按钮时,我希望在服务器上创建一个目录。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>
解决方案
您好@pablo919 您需要检查目录“/home/pablo”是否具有写入权限,您可以更改代码 ajax 并添加函数错误以检查是什么。
例子:
$.ajax({
url: 'test.php',
success: function(data) {
alert('Directory created!');
},
error: function (jqXHR, exception) {
alert('Uncaught Error.\n' + jqXHR.responseText);
}
});
推荐阅读
- javascript - 如何使“输入类型=“复选框”保留数据值?
- android - recyclerview 中的最后一项未按预期工作
- python - pytesseract 输出文件的格式问题
- swift - Swift无法转换类型'()错误的值
- sql - 在 Oracle SQL 中使用 IF 语句
- angular - 展开 mat 侧边栏内容,无需双标
- gdb - GDB 问题:堆栈上的未知值
- python - PYTHON - 如何定义多重继承顺序
- xaml - 将三个属性绑定到 DatePicker
- elasticsearch - 如何连接 Hibernate elasticsearch 使用 SSL 和 quarkus?