使用ajax来改变div - 不工作

时间:2016-01-15 15:05:52

标签: php ajax

我有一个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

1 个答案:

答案 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;