【发布时间】:2018-04-03 08:17:27
【问题描述】:
我的问题是我不确定如何从 JS 调用我的 php 函数。我正在尝试学习xmlhttprequest,但我的代码似乎有问题:
HTML:
<input type="button" id="btn" value="Click">
JS:
window.onload = initForms;
function initForms(){
document.getElementById("btn").onclick = doSomething;
}
function doSomething(){
var xmlhttp;
if (window.XMLHttpRequest){
xmlhttp = new XMLHttpRequest();
}
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
// response
}
}
try {
xmlhttp.open("GET", "test.php", true);
xmlhttp.send();
} catch (e) {
alert(e);
}
}
PHP:
<?php
echo "Echo!";
编辑:我的问题是“回声”没有出现,所以 test.php 似乎没有被调用?!为什么不? 编辑:在 Firefox 控制台中,我收到以下错误:“XML Parsing Error: no root element found”。不知道该怎么做(是的,我用谷歌搜索了它..)
【问题讨论】:
-
你的问题是?
-
在浏览器中使用开发者工具查看是否有响应。您可能需要设置一个标头以使服务器输出 json 而不是 HTML
-
你真的对响应做了什么吗?例如,在当前显示
// Response的地方,您必须对响应进行实际操作,例如console.log(xmlhttp.response); -
我在响应中有一个 innerHTML 有效。所以似乎有一个响应,我只是没有看到来自 .php 文件的任何内容。 “回声!”没有显示。
-
snajps:谢谢!我用 console.log(xmlhttp.response); 替换了 innerHTML;现在它可以工作了。我不知道为什么,但现在我会接受它;)再次感谢您。
标签: php ajax xmlhttprequest