我有一个JQUERY AJAX post函数,如果有一个函数可以工作,但如果我尝试另外包含另一个函数,第二个函数不会发布到.PHP脚本。我是JQUERY的初学者,但已尝试过各种变体,但它会处理第一个函数,但如果我添加任何其他函数,则不会处理这些函数。
<script language="javascript" type="text/javascript">
function toggle[My CSS code](x) {
if ($('#'+x).is(":hidden")) {
$('#'+x).slideDown(400);
} else {
$('#'+x).hide();
}
$('.[My CSS Code]').hide();
}
function add(a,b){
var URL="process.php";
$("#add").text("Processing").show();
$.post(URL,{request:"request",mem1:a,mem2:b,},function(data){
$("#add").html(data).show().fadeOut(12000);
});
}
/////This is where the code stops working and the .php script doesnt work//////////
function accept (x) {
var URL="process.php";
$.post(URL,{ request: "accept", reqID: x, } ,function(data) {
$("#req"+requestID).html('<font color="#000">Accepted</font>').show();
});
}
function deny (x) {
var URL="process.php";
$.post(URL,{ request: "deny", reqID: x, } ,function(data) {
$("#req"+x).html('denied').show();
});
}
</script>
因此它将通过add中发布的URL处理add函数,但不处理accept或deny函数。任何想法将不胜感激。谢谢!
答案 0 :(得分:3)
您只是在第一个函数中定义了URL,并且它是var'ed所以其他函数没有访问权并且有一个未定义的URL
答案 1 :(得分:0)
根据您使用的浏览器,ajax选项对象中的尾随逗号可能会导致问题:
// this little guy
// |
// v
$.post(URL,{request:"request",mem1:a,mem2:b,},function(data){
我知道IE会阻塞对象或数组定义中的尾随逗号,但FF和Chrome通常似乎能够处理它