如果按下某个按钮,我正在尝试向python脚本发送两个值。
但是有一个问题:
使用alert("test");
一切都很完美。但没有它,就没有任何东西可以发送。
我认为这是一种计时问题,但我无法真正思考问题是什么。
奇怪的是,我甚至可以将警报放在ajax函数前面(但仍然在$("#submit").click
部分)并且它完美地运行。
<script type="text/javascript" src="./jquery-1.4.4.min.js"></script>
<script type="text/javascript">
/*<![CDATA[*/
$(document).ready(function(){
$("#submit").click(function(){
jQuery.ajax({
type: "POST",
url: "../../../cgi-bin/testCgi.py",
data: {"nick" : $("#nick").val(), "msg" : $("#msg").val()},
success: function (msg) {
alert("Data: " + msg);
}
});
alert("test");
});
});
/*]]>*/
</script>
答案 0 :(得分:4)
如果#submit
是链接元素<a href="...">
或表单按钮,则需要取消默认操作。
$("#submit").click(function(e){
// added following line and the parameter in the function definition
e.preventDefault();
jQuery.ajax({
type: "POST",
url: "../../../cgi-bin/testCgi.py",
data: {"nick" : $("#nick").val(), "msg" : $("#msg").val()},
success: function (msg) {
alert("Data: " + msg);
}
});
alert("test");
});
如果您不这样做,那么页面会在链接后面,或者提交页面。