javascript - 包括将在 JavaScript 文件中重定向用户的 PHP 代码?

标签 javascript php ajax

我有一个文件(confirm.js),如果用户名和密码输入正确,该文件会将登录页面重定向到主页。我收到一条错误消息:

<?php header("Location: ../MedCompany/homepage.php ?>

我从控制台收到的错误如下:

Uncaught Syntaxerror: Unexpected token <

我应该如何将 php 代码包含在我的 javascript 文档中,以便它可以重定向到另一个 php 文件。为什么我的代码不正确?

我以为<php? php code ?>是执行此操作的正确方法

$('document').ready(function () {
    button = document.getElementById("button");
    button.onclick = function () {
        var data = $("#loginform").serialize();
        $.ajax({
            type: 'POST',
            url: '../MedCompany/php/welcome.php',
            data: data,
            success: function (response) {
                console.log("response was " + response);
                if (response == "Login Succesfull") {
                    <?php
                    header("Location: ../MedCompany/homepage.php");
                    ?>
                }
                else {
                    $("#error").html('<div class="alert alert-info" role="alert">;' + response + '</div>');
                }
            }
        });
    }
});

最佳答案

您不能只是在 Javascript 代码中间添加一些 PHP 代码并期望它执行您想要的操作。 Javascript 解析器试图将其解析为 Javascript,但有趣的是,它并没有对其进行管理。

您需要使用Javascript方法重定向浏览器,即设置window.location对象:

window.location = "../MedCompany/homepage.php";

只有当 PHP 引擎工作时,即当代码在服务器上执行时,而不是在浏览器中执行时,使用 PHP 方法才有效。

关于javascript - 包括将在 JavaScript 文件中重定向用户的 PHP 代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40810930/

相关文章:

javascript - preserveDrawingBuffer false - 值得付出努力吗?

php - Laravel 5.2 验证错误——错误包为空

javascript - 使用 Django 访问 ajax 元素

javascript - 关于node.js/javascript在文件之间共享变量

javascript - 为什么我的架构不在 Mongoose 数组中添加默认值?

Javascript 像 jquery 一样显示/隐藏

php - Web 应用程序,用户上传文件夹最安全的地方

php - 从php错误执行python文件

javascript - 提交表单时使用 AJAX

ajax - Wordpress 单页 SSL