如果定义了多个函数,则JQuery AJAX发布不起作用

时间:2011-06-23 23:19:31

标签: php jquery ajax

我有一个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函数。任何想法将不胜感激。谢谢!

2 个答案:

答案 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通常似乎能够处理它