首页 > 解决方案 > 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)
        }
    });
}

标签: javascriptphpajaxslim

解决方案


我强烈怀疑 Slim 路由器是否遵循您的目录路径。我不知道你的完整配置,所以我可能会弄错,但尝试访问http://localhost/checkerhttp://localhost/v5/checker看看它是否显示了一些东西。

同样在 javascript 中,您将 URL 设置为相对的,这仅在您从主页调用它时才有效。相反,您应该像这样添加斜杠:

url: '/api/checker',

但再一次 - 尝试'/checker''/v5/checker',我相信这是大多数路由器应该工作的方式。


推荐阅读