Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 为什么我的ajax函数不是';t异步并刷新页面?_Php_Jquery_Ajax - Fatal编程技术网

Php 为什么我的ajax函数不是';t异步并刷新页面?

Php 为什么我的ajax函数不是';t异步并刷新页面?,php,jquery,ajax,Php,Jquery,Ajax,我在这里试图做的是在我的页面上有一个按钮,它可以在不刷新页面的情况下提醒一些数据(数据是一个密码,这就是为什么我不希望将其写入代码中的原因) 到目前为止,我的实际页面运行良好, 页面的第一部分: <?php session_start(); if (!isset($_SESSION['id'])) header('location: index.php'); else { $id = strip_tags($_SESSION['id']); $username =

我在这里试图做的是在我的页面上有一个按钮,它可以在不刷新页面的情况下提醒一些数据(数据是一个密码,这就是为什么我不希望将其写入代码中的原因)

到目前为止,我的实际页面运行良好, 页面的第一部分:

<?php
session_start();

if (!isset($_SESSION['id']))
    header('location: index.php');
else
{
    $id = strip_tags($_SESSION['id']);
    $username = strip_tags($_SESSION['username']);
    $role = strip_tags($_SESSION['role']);

    require('config/functions.php');

    if (isset($_POST['idSite']) AND !empty($_POST['idSite'])) {
        $idSite = htmlspecialchars($_POST['idSite']);

        $connexionInfos = getConnexionInfos($idSite);
    }
}?>

第二部分:

<!DOCTYPE html>
<html>

<head>
    <title>Telem MCS</title>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
    <script>
        $(document).ready(function(){
          $("#passCo").click(function(){
            var idTelem = <?= $idSite ?>;
            $.post("config/get_pass.php",
            {
              searchFor: idTelem
            },
            function(data,status){
              alert("Password: " + data);
            });
          });
        });
    </script>
</head>

<body>
    <div class="tabs_content">
        <div class="tab_content" id="connexion">
            <div class="form_info">
                <form>
                    <div id="except_procedure">
                    <?php foreach($connexionInfos as $connexionInfo): ?>
                        <div class="form-style-2">
                            <label for="field1"><span>Type de connexion </span>
                                <select name="field1" class="select-field" disabled="disabled">
                                    <option value=""><?= $connexionInfo->TYPECONNEXION ?></option>
                                </select>
                            </label>
                            <label for="field2"><span>Configuration VM </span>
                                <input type="text" class="input-field" name="field2" value="<?= $connexionInfo->TYPEVM ?>" disabled="disabled"/>
                            </label>
                    <?php endforeach; ?>
                            <label for="field5"><span>PASSWORDS</span>
                                <button id="passCo">PASS</button>
                            </label>
                        </div>
                    <?php foreach($connexionInfos as $connexionInfo): ?>
                        <div class="form-style-2">
                            <label for="field6"><span>Procedure </span>
                                <textarea name="field6" class="textarea-field" disabled="disabled"><?= $connexionInfo->PROCEDURE ?></textarea>
                            </label>
                        </div>
                    <?php endforeach; ?>
                    </div>
                </form>
            </div>
        </div>
    </div>
</body>

远程监控系统
$(文档).ready(函数(){
$(“#passCo”)。单击(函数(){
var idTelem=;
$.post(“config/get\u pass.php”,
{
搜索:idtelm
},
功能(数据、状态){
警报(“密码:+数据”);
});
});
});
脱连接型
配置虚拟机

因为元素的默认
类型是
“submit”
,所以浏览器正在提交表单

要防止它,请接受事件对象作为
单击处理程序中的第一个参数,并对其调用
preventDefault

$("#passCo").click(function(e){
    e.preventDefault();
    // ...
});

或者,您可以将
type=“button”
添加到
按钮
,但该按钮在关闭JavaScript的浏览器上不起作用。(我不知道你是否在处理这个案子,但是…

旁注:我希望你不会认为
strip\u tags()
有助于防止SQL注入;不会的。使用预先准备好的语句,因为您已经在使用PDO。编辑:同样的事情也适用于
htmlspecialchars()
。如果你的循环不止一次,你也有多个ID-ID必须是唯一的htmlspecialchars()会更好吗?@JonathanBlt看不到我编辑的评论;重新加载它。同样的事情;-)如何预防。最好使用“$”(“表单”)。在(“提交…”上,而不是“.submitbutton”)。在(“单击”
@mplungjan-Hmmm),很可能是的。
$("#passCo").click(function(e){
    e.preventDefault();
    // ...
});