GET中的多个空格会导致err_Conection_Reset

时间:2015-06-16 15:10:37

标签: javascript php ajax

我正在使用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会更好吗?

0 个答案:

没有答案