Javascript jQuery计时问题(ajax)
如果按下某个按钮,我将尝试向python脚本发送两个值 但有一个问题: 带有Javascript jQuery计时问题(ajax),javascript,jquery,ajax,Javascript,Jquery,Ajax,如果按下某个按钮,我将尝试向python脚本发送两个值 但有一个问题: 带有警报(“测试”)一切都很完美。但是如果没有它,就没有任何东西可以发送 我认为这是一种时间问题,但我无法真正思考问题所在。 奇怪的是,我甚至可以将警报放在ajax函数前面(但仍然在$(“#submit”)。单击部分),它工作得非常好 <script type="text/javascript" src="./jquery-1.4.4.min.js"></script> <script type
警报(“测试”)代码>一切都很完美。但是如果没有它,就没有任何东西可以发送
我认为这是一种时间问题,但我无法真正思考问题所在。
奇怪的是,我甚至可以将警报放在ajax函数前面(但仍然在$(“#submit”)。单击部分),它工作得非常好
<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>
/**/
如果#submit
是链接元素
或表单按钮,则需要取消默认操作
$("#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");
});
如果不执行此操作,则页面将跟随链接或提交页面。如果#submit
是链接元素
或表单按钮,则需要取消默认操作
$("#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");
});
如果不这样做,则页面会跟随链接,或提交页面。我认为这是由于javascript的传播造成的。只需将警报(“测试”)替换为return false;也许可以解决这个问题你怎么知道什么都没有发送?您是在检查网络选项卡中的请求,还是因为没有看到第二个警报而假设没有发送任何请求?我认为这是由javascript的传播造成的。只需将警报(“测试”)替换为return false;也许可以解决这个问题你怎么知道什么都没有发送?您是在检查“网络”选项卡中的请求,还是因为看不到第二个警报而认为没有发送任何请求?如果是“提交”按钮,则最好将处理程序绑定到表单的submit
事件。感谢您提供了一个出色的解决方案!如果是submit按钮,更好的做法是将处理程序绑定到表单的submit
事件。感谢您提供了一个出色的解决方案!