我想创建一个页面,用户在文本框中放置任何单词并返回所有带有该单词的书籍(书籍是在mysql中,我将在xmlconvert.php中转换查询)
<form id="keyword" >
<input type="text" name="value" id="book"/>
<br/>
<button onclick="showhint(functionvalue())">Search By Title</button>
</form>
有一个函数来获取用户放置的单词并将其发送到ajax showhint();
<script>
function functionvalue() {
var bookname = document.getElementById('book').value;
return bookname;
}
</script>
有一个ajax代码从xmlconvert.php文件中获取responsetext,其中我得到了q用户放置的单词,并使用该单词进行查询并以xml格式返回书籍
<script type="text/javascript">
function showhint(str) {
var ajax = new XMLHttpRequest();
ajax.onreadystatechange = function {
if (xhttp.readyState == 4 && xhttp.status == 200) {
document.getElementById("keyword").innerHTML = xhttp.responseText;
}
};
xhttp.open("GET","xmlconvert.php?q="+str,true);
xmlhttp.send();
}
</script>
我不知道我的想法是否正确,请告诉我是否可以做到这一点以及如何做到这一点。 对不起我的英语不太好
答案 0 :(得分:1)
您将新的XMLHttpRequest分配给变量ajax,然后使用其他名称调用其命令。如果你将其命名为ajax,则需要执行ajax.readyState,ajax.status,ajax.open,ajax.send等。
所以这应该有效:
<script type="text/javascript">
function showhint(str){
var ajax=new XMLHttpRequest();
ajax.onreadystatechange=function{
if (ajax.readyState == 4 && ajax.status == 200) {
document.getElementById("keyword").innerHTML = ajax.responseText;
}
};
ajax.open("GET","xmlconvert.php?q="+str,true);
ajax.send();
}
</script>
答案 1 :(得分:0)
需要进行以下更改:
所以正确的代码是:
<script type="text/javascript">
function showhint(str) {
var ajax = new XMLHttpRequest();
ajax.onreadystatechange = function () {
if (ajax.readyState == 4 && ajax.status == 200) {
document.getElementById("keyword").innerHTML = ajax.responseText;
}
};
ajax.open("GET","xmlconvert.php?q="+str,true);
ajax.send();
}
</script>