4

我正在尝试将 POST 提交到 PHP 脚本,而不使用表单。除了实际的帖子部分之外,该功能也可以正常工作。

谁能看到我在这里所做的事情一定有什么问题?

function checkforRates(){
alert('activated');
//FUNCTION CHECKS FOR RATES FOR EACH OF THE ICPS IN LATEST CONTRACT
var count = $("#selectICP").children("option:not([disabled])").length;
success = 0
$('#selectICP option:not([disabled])').each(function() {
    opICPs = $(this).val();
    $.ajaxSetup({
        type: 'POST',
        URL: 'functions/workforce_newcontract.php',
        data: {'checkrates': 'true', 'ICP': opICPs, 'ctype': ctype},
        //data: '?checkrates=true&ICP=' + opICPs + '&ctype=' + ctype,
        success: function(result) {
            if(result == 1){    
                //THIS ICP HAS ALL METERS AND ENGINES WITH RATES
                success = success + 1;
            } else {       
                $('#contract_window_message_error_mes').html(result);
                $('#contract_window_message_error').fadeIn(300).delay(3000).fadeOut(700);
                return false;
            }
        },
        error: function() {
            $('#contract_window_message_error_mes').html("An error occured, the form was not submitted.");
            $('#contract_window_message_error').fadeIn(300).delay(3000).fadeOut(700);
        }
    });
    if(success === count){
        //CONTINUE ONTO NEXT STAGE
        alert('Success!');
    }
});
}

非常感谢。

4

1 回答 1

1

首先,您调用了错误的函数。你需要打电话$.ajax(),不是$.ajaxSetup()

其次,您没有提供正确的论据。具体来说:

    URL: 'functions/workforce_newcontract.php',

正确的属性名称是url,而不是URL

    url: 'functions/workforce_newcontract.php',

第三,正如 Ken Cheung 指出的那样,您没有正确处理异步部分。这段代码:

if(success === count){
    //CONTINUE ONTO NEXT STAGE
    alert('Success!');
}

需要你的success()函数内部,而不是在$.ajax()调用之后。

于 2013-10-03T06:31:19.180 回答