[英]Ajax load issues with space in url
我有2个python文件: gui.py和index.py
python.py包含带有mysql数据库记录的表。
gui.py包含python.py和带按钮的文本字段,用于发送消息。
另外, gui.py包含的JavaScript将使用参数加载新的python.py 。
gui.py脚本
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script>
$(document).ready(function(){
$("#content").load("http://localhost/index.py");
$("button").click(function(){
var url = "http://localhost/index.py?name=1&message=";
var msg = document.getElementById("message").value;
var res = url.concat(msg);
alert(res); //here I always can understand that result URL is okay.
$("#content").load(res);
});
</script>
和index.py部分
cursor.execute("INSERT INTO `messages` (`sender`, `receiver`, `text`, `time`) VALUES ('" + req.form['name'] + "', '3', '" + req.form['message'] + "', now())")
});
其中req
来自def index(req):
我正在使用mod_python 。
因此,问题是 -当我尝试发送带有空格的消息时-我的表消失了(直到下一页刷新(但是我不需要在没有空格的情况下刷新它,ajax加载在这里工作得很好))。 然后,我将仅看到消息的第一个单词。 如您在我的代码中所见,我有alert(res);
如果我复制该警报并仅运行该URL,则空格可以很好地工作。
一些细节
我正在使用ubuntu 14.04,apache2,mod_python,python 2.7,mysql数据库,python-MySQLdb。
您应该对邮件正文进行URL编码,以防止URL中的特殊字符(例如空格)。 如果你做了
var msg = encodeURIComponent( document.getElementById("message").value );
您可能会有更好的成功。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.