javascript - GET http://localhost/v5/api/checker 404(未找到)
问题描述
我正在尝试通过调用 AJAX 来执行 php 的功能,但是当我单击按钮时显示此错误,有人知道我该如何解决?我的代码如下。
PHP:
$app->get('/checker', function () {
$jsonContents = file_get_contents('data/data.json');
$data= json_decode($jsonContents, true);
foreach ($data as $key =>[$value]) {
$host = $value['domain'];
exec('ping -c 2' . $host,$output,$result);
ECHO $result;
}
});
JS AJAX:
function CallChecker() {
$.ajax({
type: 'GET',
url: 'api/checker',
dataType: 'json',
success: function(data) {
alert(data)
}
});
}
解决方案
我强烈怀疑 Slim 路由器是否遵循您的目录路径。我不知道你的完整配置,所以我可能会弄错,但尝试访问http://localhost/checker或http://localhost/v5/checker看看它是否显示了一些东西。
同样在 javascript 中,您将 URL 设置为相对的,这仅在您从主页调用它时才有效。相反,您应该像这样添加斜杠:
url: '/api/checker',
但再一次 - 尝试'/checker'或'/v5/checker',我相信这是大多数路由器应该工作的方式。
推荐阅读
- types - 为什么这个 Discriminate Union 不接受 Set 类型的情况?
- javascript - 向多个调用者返回相同的 Promise 是否错误?
- python - .loc 替换所有列值,而不仅仅是索引列
- c++ - 为什么在 Qt 中创建主窗口之前必须加载语言包?
- session - 关于自由的 ViewExpiredException
- java - ArrayList 打印位置而不是输入值
- java - 解析 JSON 以映射到数组
- c# - Telerik Form 作为对话框运行有时会卡住
- java - 错误 404:无法在 JSP 中加载 css 页面
- javascript - 使用 ECMAScript 解构访问对象中的所有元素