从JavaScript异步运行PHP

时间:2015-10-31 20:23:16

标签: javascript php html ajax

当我用HTML格式写一些东西时,我正试图得到一些建议。

因此,当在该表单上触发onkeypressonkeyup事件时,我会调用JS函数。在JS函数中,我使用HTTP请求对象并从PHP文件中获取数据。

这是一个小片段,用于说明我在做什么。

HTML code:

<form class="login" onsubmit="return isvalidated()" action="asd.php" method="post">
			<input id="userID" type="text" onkeypress="checkusername()" onkeyup="checkusername()" onblur="usercheckLv()" placeholder="username" name="user"><br><span class="errors" id="usererror"></span><br>
			<input id="passwordID" type="password" onblur="passwordcheckLv()" placeholder="password" name="password"><br><span class="errors" id="passworderror"></span><br>
			<input type="submit" value="Login">
</form>
<script src="js/index.js"></script>

JavaScipt代码:

function checkusername(){
	var xmlhttp = new XMLHttpRequest();
       	xmlhttp.onreadystatechange = function() {
           	if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
           	   	document.getElementById("usererror").innerHTML = xmlhttp.responseText;
            	}
       	xmlhttp.open("GET", "xx.php", true);
       	xmlhttp.send();
	}
}

PHP文件xx.php:

<?php
    echo "fgfwegfdg";
?>

我的HTML文件位于名为taxi的文件夹中,index.jsxx.php位于taxi/js文件夹中。

所有其他功能usercheckLv() passwordcheckLv() isvalidated()都在index.js文件中,所有这些功能都正常运行。正在调用checkusername()(我已调试它)。

但是checkusername()中的内部函数无效。

请帮忙。谢谢。

注意:我在Ubuntu中通过localhost运行文件

1 个答案:

答案 0 :(得分:0)

如果调用了checkusername函数但没有响应,则问题必须来自您的Ajax调用。

我建议你仔细查看每一行的ur函数代码,因为它们区分大小写,尤其是xhttp部分。检查w3school是否有正确的语法。

可替换地;使用if(xhttp.statusText ===&#39; OK&#39;)如果假设(xmlhttp.readyState == 4&amp;&amp; xmlhttp.status == 200)。您还可以在ur代码中添加console.log()消息,以了解代码中断的位置。

希望这有帮助