繁体   English   中英

ajax变量无法在php脚本中使用

[英]ajax variable not usable in php script

我编写了一个AJAX脚本,该脚本需要将一些变量发送到PHP脚本,然后报告一个小脚本以与服务器连接。 但是我似乎可以使用从AJAX脚本传递来的存储变量

<script>
function executeSsh() {
    var username = "<?php echo $connect_d["username"] ?>";
    var password = "<?php echo $connect_d["password"] ?>";
    var ip       = "<?php echo $connect_d["dedicatedip"] ?>";

    $.ajax({
        url: "functions.php",
        dataType: 'text',
        type: "post",            
        data: { username: username, password: password, ip: ip },
        success: function(data) {
                $('#sshcall').html( data );
            },
        error: function(jqXhr, textStatus, errorThrown) {
                alert("Request failed: " + textStatus);
            }
    });

    $('.blinstbtn').fadeToggle(1000);
}
</script>

因此,现在您可以看到按需传递给PHP的三个变量,并按应有的方式将它们存储在单独的变量中。 但是,此时我不能再使用它们,并且出现连接错误。

<?php
include('Net/SSH2.php');

$username = $_POST['username'];
$password = $_POST['password'];
$ip       = $_POST['ip'];

echo $username. "<br><br>". $password;

$ssh = new Net_SSH2($ip);
if (!$ssh->login($username, $password)) {
    exit('Login Failed');
}

$ssh->read('/.*@.*[$|#]/', NET_SSH2_READ_REGEX);
$ssh->write("uptime\n");
$ssh->setTimeout(10);
$output = $ssh->read('/.*@.*[$|#]|.*[P|p]assword.*/', NET_SSH2_READ_REGEX);

echo "<pre>". $output . "</pre>";
?>

因此,当我回显每个变量时,它应该是正确的值,但是当我尝试使用然后进一步深入脚本时,我不断收到这样的消息:登录不起作用。 我知道连接到服务器的脚本正在工作,因为我仅使用原始信息对其进行了测试。

知道我在这里缺少什么以及如何解决它。 还有没有一种方法可以加密AJAX发送的数据字符串,以便现在可以使用Firebug之类的值取值?

谢谢您的帮助。

我只是想通了。 我需要在$ post前面使用trim( http://php.net/manual/en/function.trim.php )来完成此工作。 当我使用帖子时,可能已经添加了空格。 不知道怎么可能。 但这对我有用。

感谢所有的投入。 如果有人想告诉我,为什么在使用post时为什么要添加空格,那就太好了。

谢谢

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM