簡體   English   中英

為什么我在 ajax 帖子后沒有被重定向?

[英]why am I not redirected after a ajax post?

我正在使用頁面( file1.php )將特定編號提交給另一個 php 文件( file2.php ),這第二個 PHP 文件從數據庫中獲取數據並提取信息,然后將其返回到file1.php ,這里是file2 .php

<?php
require('../model/encapsulation.php');
require('../model/connection.php');
require('../model/bunchofmethod.php');
if (isset($_POST['SpecificNumber'])) {
    $NS = $_POST['SpecificNumber'];
    $info = execRequest::folderInfoFromNS($NS, $dbh);
    $name = $info['name'];
    $firstName = $info['firstName'];
    $UID = $info['UID'];
    $idFound = json_encode(array($name, $firstName, $UID));
}
?>
<!DOCTYPE HTML>
<html lang="fr">
<head>
    <script src="../JS/jquery-3.4.1.min.js"></script>
    <?php
    if (isset($idFound)){
        ?>
        <script>
        $(document).ready(function () {
            $.post("../view/file1.php",
                {
                    idFound: <?php echo $idFound?>,
                    searchDone: 1
                });
        })
    </script>
    <?php
    }
    ?>
</head>
</html>

當我用file1提交一個特定的數字時(它只是一個常規表格和一個 php 部分,如果設置了 vardump $_POST['idFound'] )我被重定向到file2但沒有再次重定向到file1 ,為什么?

我想你可能誤解了這里的過程。

如果您希望 file1 向 file2 發出請求,而 file2 發送響應,那么在 file2 中編寫向 file1 發出 AJAX 請求的代碼是沒有意義的。 您不需要對 file1 的請求(因為這會創建對 file1 腳本的實例的調用)。 您只需要讓 file2 對來自 file1 的原始實例的請求提供響應

因此,如果您希望 file2 響應並將 JSON 數據返回給 file1,則只需回顯它:

$idFound = json_encode(array($name, $firstName, $UID));
echo $idFound;

(並刪除所有 HTML 和 jQuery 代碼)。

回顯數據將作為對 file1 請求的響應返回。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM