我想将一个变量,或者说一条消息,从我的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);
}
答案 0 :(得分:3)
响应位于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非常有用。
答案 1 :(得分:0)
你可以通过定义全局变量来实现它,这个值来自php,如下所示。
<script type="text/javascript">
var message = '<?= $message ?>';
</script>
这是一种简单的方法。