我有一个js函数:
function updateDescriptor(subj){
"use strict";
var xhttp;
xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (xhttp.readyState == 4 && xhttp.status == 200) {
document.getElementById("txtHint").innerHTML = xhttp.responseText;
}
};
xhttp.open("GET", "ajaxy/fred.php?q"+subj, true);
xhttp.send();
}
fred.php非常简单(最终将是数据库查询)
$returntext="<h1>hello from my first ajax thing</h1>";
echo '$returntext;
在HTML中:
<h1>Edit Subject Descriptors</h1>
<div id="txtHint"><p>text hint</p></div>
<form name="subject-descriptors" action="assessment-subject-descriptors.php" method="post" class="complex-grey">
<div class="column">
<div class="formelement">
<select name="subjects" class="lineInput updatetextbox" onchange="updateDescriptor(this.value)">
:
</form>
我知道正在调用updateDescriptor
- 我有警报。但是,txtHint
内容不会发生变化,因此出现问题。
有什么想法吗?
我一直关注w3schools tutorial
答案 0 :(得分:2)
您需要更改两件事。
首先:
xhttp.open("GET", "ajaxy/fred.php?q"+subj, true);
^ you forgot an equal sign here
应该是,
xhttp.open("GET", "ajaxy/fred.php?q="+subj, true);
第二,从'
移除echo '$returntext;
,它应为echo $returntext;