首页 > 解决方案 > path as parameter - ajax call

问题描述

<?php
    if (defined('STDIN')) {
        $path= $argv[1];

    } else { 
        $path = $_GET['path'];

    }
    if( isset($path) && ($path!==null) ) {
        $local='/home/www/site/';
        $fullpath = $local . $path;
        var_dump(is_dir($fullpath));
    }
?>

If I call it from console , it works as as expected: bool(true).

Called via ajax, it fails:

$.ajax({
    url: '../inc/is_dir.php',
    data: { path: "a/b" },
    dataType: 'text',
    success: function (data) {
        alert(data);
    }
});

标签: javascriptphpparameter-passing

解决方案


由于您使用相对路径,因此请检查devtools../inc/is_dir.php实际指向的网络选项卡。在那里,您还可以看到您遇到的错误类型(例如 404、500 等)

考虑使用绝对路径,例如/inc/is_dir.php. 如果您在不同的页面上使用脚本,您不希望您的 ajax 调用中断。


推荐阅读