最初のコードは次のhtml
とおりです。
<html>
<head>
<script type = "text/javascript" src = "AJAX.js"></script>
</head>
<body>
<form method = "GET" >
<input type = "text" id ="a" ><br>
<input type = "text" id = "b"><br>
<input type = "button" value ="click" onclick = "process()"><br>
<textarea id = "underbutton" ></textarea><br>
</form>
<body>
</html>
今JavaScript(AJAX):
function process() {
if(xmlHttp.readyState==0 || xmlHttp.readyState==4){
a = document.getElementById("a").value;
b = document.getElementById("b").value;
xmlHttp.onreadystatechange = handleServerResponse;
xmlHttp.open("GET","file.php?a="+a+"&b="+b,true);
xmlHttp.send();
}
}
function handleServerResponse (){
if(xmlHttp.readyState==4 && xmlHttp.status==200)
{
response = xmlHttp.responseText;
document.getElementById("underbutton").innerHTML = response ;
}
}
今phpファイル:
<?php
echo $_GET['a'].'<br>';
echo $_GET['b'].'<br>';
?>
すべてが機能していますが、問題は、最初のテックスボックス(a)に単語hello
を入力し、2番目(b)にコードを入力&
してボタンをクリックしたときです。印刷する必要がありますhello&
。
しかし、それは印刷されます hello
!!
ジャストhello
なし&
。
私はphpファイルに送信していたことに気付きました:
file.php?a=hello&b=&
.
最後&
でなければならない%26
したがって、印刷する&
には : を送信する必要があります
file.php?a=hello&b=%26
。
どうすれば修正できますか??