我正在使用JavaScript将GET发送到php文件。
function getLessons(lesson){
if(xmlHttpGetLessons.readyState==4 || xmlHttpGetLessons.readyState == 0){
var lesson_title = encodeURIComponent(lesson);
xmlHttpGetLessons.open("GET", 'InstListLessons.php?lesson=' + lesson_title,true);
xmlHttpGetLessons.send(null);
xmlHttpGetLessons.onreadystatechange = LessonGetServerResponse;
}
}
PHP文件接收GET并处理数据:
if (isset($_GET['lesson'])){
$lesson_tmp = urldecode($_GET['lesson']);
$lesson_descrip = Filter_var($lesson_tmp, FILTER_SANITIZE_STRING);
} else {
$flag = false;
}
在大多数情况下,这样可以正常工作,PHP以XML格式返回数据,没有任何问题。当'lesson'的值有一个空格时,它可以正常工作。 GET以
发送"InstListLessons.php?lesson=Sutures%20Stiching"
当有两个空格时,GET似乎仍然可以正确发送
"InstListLessons.php?lesson=Sutures%20and%20Stiching"
然而,页面无法加载
GET http://192.168.1.18/InstListLessons.php?lesson=Sutures%20and%20Stiching net::ERR_CONNECTION_RESET
如果我只删除第二个“%20Stiching”它可以工作,所以我不相信存在实际的连接问题。如何用两个空格发送字符串? POST会更好吗?