javascript - 如何将 PHP 数据传递给外部 JavaScript

标签 javascript php ajax

我想将一个变量,或者更确切地说是一条消息,从我的 PHP 文件传递​​到我的外部 JavaScript 文件。我看过其他回答的问题,似乎 PHP 文件并不是真正完整的 PHP,它里面有一些 js 代码。

我只想传递一条简单的消息,以便我可以在外部 js 中使用 alert() 来显示消息。

我应该使用 JSON(我不知道如何使用)吗?或者有更简单的方法吗?我对所有这些都很陌生,所以也许一个简单的解释和一个没有 jQuery 的答案将不胜感激。

在 PHP 文件中:

function checkDuplicateTesterName($tester_name)
{
    $table_info = "TBL_TESTER_LIST";
    $query_string = "select tester_name from $table_info where tester_name = $tester_name";
    $result = @mysql_query($query_string) or die (mysql_error());
    $checkTester = mysql_num_rows($result);
    if($checkTester>0)
    {
        echo $message = "Error, please check again."; //I want to pass this
    }
}

在外部js文件中:

function checkTester()
{
    var tester_name = document.getElementById("tester_name").value;
    var page = "database.php";

    var parameters = "&tester_name="+tester_name+"&action=check";
    var xmlhttp = new XMLHttpRequest();

    if(xmlhttp==null)
    {
        alert("Your browser does not support ajax!");
        return false;
    }
    xmlhttp.onreadystatechange=function()
    {
        if(xmlhttp.readyState==4)
        {
            alert("function success."+message); //Alert error message from PHP here
        }
    };
    xmlhttp.open("GET", page+"?"+parameters, true);
    xmlhttp.send(null);
}

最佳答案

响应位于 XHR 对象的 responseText 字段中,因此您需要执行以下操作:

xmlhttp.onreadystatechange=function()
{
    if(xmlhttp.readyState==4)
    {
        var message = xmlhttp.responseText;
        alert("function success."+message); //Alert error message from PHP here
    }
};

如果您只是返回一个字符串,则不需要使用 JSON。如果您要返回数组或对象,JSON 很有用。

关于javascript - 如何将 PHP 数据传递给外部 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30447773/

相关文章:

javascript - 如何使用异步 I/O 将实时数据集写入磁盘?

php - 使用 php 进行 SQL 注入(inject)攻击

PHP preg_replace 除了括号内的所有逗号

php - MapReduce 在 CakePHP 3.x 中不工作

ajax - 为什么我会收到这个 501 Not Implemented 错误?

javascript - ajax 调用后无法接收更新的 props( react )

javascript - 检测ios、android或桌面是否启动不同的链接?

javascript - 混合图表的 Chart.js 工具提示悬停自定义

javascript - Ajax 调用在 CodeIgniter 中返回 int 而不是 string

javascript - 为什么我的 AJAX 运行了 4 次