Jquery AJAX函数问题
我使用一个函数通过Ajax发布结果。当我测试函数是否被调用时,我添加了一个警报。一切正常,但一旦我删除警报,我的结果就不会发布。。。是什么引起的Jquery AJAX函数问题,jquery,Jquery,我使用一个函数通过Ajax发布结果。当我测试函数是否被调用时,我添加了一个警报。一切正常,但一旦我删除警报,我的结果就不会发布。。。是什么引起的 function SendInvitesF(invType, invWho, projID) { $.ajax({ url: "ajax.php", type: POST", data: "op=sendInvites&inviteMsgType="+invType
function SendInvitesF(invType, invWho, projID) {
$.ajax({
url: "ajax.php",
type: POST",
data: "op=sendInvites&inviteMsgType="+invType+"&invitees="+invWho+"&proj="+projID
});
alert("test "+projID) // test alert <<<
}
$("#btnSend").click(function() {
if($("#customMsg").attr("checked")) {
var invType = "custom";
} else {
var invType = "default";
}
var invWho = $(".radioB:checked").val();
var projID = $("#testID").val();
SendInvitesF(invType, invWho, projID);
});
函数SendInvitesF(invType,invWho,projID){
$.ajax({
url:“ajax.php”,
类型:邮政“,
数据:“op=sendInvites&inviteMsgType=“+invType+”&invites=“+invWho+”&proj=“+projID
});
alert(“test”+projID)//test alert我怀疑您正在onclick或onsubmit事件中调用此函数,并且您没有通过返回false来取消默认操作。此外,您没有正确地对任何参数进行url编码。为此,请使用数据哈希:
function SendInvitesF(invType, invWho, projID) {
$.ajax({
url: 'ajax.php',
type: 'POST',
data: {
op: 'sendInvites',
inviteMsgType: invType,
invitees: invWho,
proj: projID
});
return false;
}
然后,如果您在锚的onclick中调用此函数:
// I guess btnSend is a submit button or an anchor so make sure
// you cancel the default action by returning false from the click
// callback
$('#btnSend').click(function() {
if ($('#customMsg').attr('checked')) {
var invType = 'custom';
} else {
var invType = 'default';
}
var invWho = $('.radioB:checked').val();
var projID = $('#testID').val();
return SendInvitesF(invType, invWho, projID);
});
请注意,我们如何返回false,从而取消默认操作,这将是一个重定向,当然不会留下执行AJAX请求的时间。当您在函数末尾发出警报时,这将停止任何脚本执行,AJAX调用有时间命中服务器。您是否尝试在成功时添加警报ess handler?为了确保ajax调用确实成功通过?还有,像Darin一样,可能你在onClick上使用了,但忘记取消了默认操作。@santa,是的,我明白了。正如我在回答中所说的,请确保返回false。单击handler。哇,这是有意义的…但是,现在当我单击它时,它似乎没有出现这个函数被调用了…我认为第10行是“}”。我还注意到你把所有的引号都改成了singe。我的代码中使用了PHP代码,并使用了“代替”。这可能是个问题吗?@santa,这只是我在javascript中使用单引号的习惯。如果愿意,可以使用双引号。这不是问题,也不是造成问题的原因。哦,它确实发布数据,但重定向显然不起作用。如何生成POST数据并在事后重定向?