这段AJAX代码是什么意思?

What does this piece of AJAX code mean?

本文关键字:意思 是什么 代码 AJAX 这段      更新时间:2023-09-26

我搜索了互联网的信息,但我似乎不能得到任何关于这段AJAX代码我正在使用的信息:

function getEmployeeFilterOptions(){
    var opts = [];
    $checkboxes.each(function(){
        if(this.checked){
            opts.push(this.name);
        }
    });

这段代码之间的区别是什么,因为它们都是调用AJAX的方式?

function updateEmployees(opts){
    $.ajax({
        type: "POST",
        url: "submit.php",
        dataType : 'json',
        cache: false,
        data: {filterOpts: opts},
        success: function(records){
            $('#employees tbody').html(makeTable(records));
        }
    });
如果有人能详细解释一下这些东西代表什么就太好了。

第一个代码

第一个代码只是一个伪代码,或者说是一个算法代码,用于检查复选框输入元素的复选性。

function getEmployeeFilterOptions(){
    var opts = [];
    $checkboxes.each(function(){
        if(this.checked){
            opts.push(this.name);
        }
    });
});

这将检查每个复选框,注意.each()方法。它将对每个元素执行一个函数。然后检查一下情况。但是注意,复选框不会做任何事情。你更有可能把它勾选为:

$('input[type=checkbox]').each(function () {
  /* here if else statement */
}

第二代码

第二段代码是执行ajax请求的实际代码。

function updateEmployees(opts) {
    $.ajax({
        type: 'POST',
        url: 'submit.php',
        dataType : 'json',
        cache: false,
        data: {
          filterOpts: opts
        },
        success: function(records) {
          $('#employees tbody').html(makeTable(records));
        }
    });
});

这段代码将发送一个AJAX请求,就像使用method="post"提交表单一样,为此您可以看到代码的type: 'POST'部分。接下来是页面的URL,在其中找到用于捕获请求的页面。数据类型也是页面的mime,设置为json。服务器将知道请求是json格式的。您也可以在服务器端处理它。如:

if(request_type == 'json') {
  /* note, it is also a pseudo code */
}

然后,缓存设置为false,这样浏览器和服务器就不能也绝不能保存这个请求的会话。

Data是添加到HttpRequest中的其他响应或QueryString。例如,如果请求是GET (type: 'GET')。然后,您可以添加您的姓名或其他数据作为:

data: 'user_name=yourname&password=password'

这将被添加到url。

Next是响应成功时执行的函数。如果没有发现错误,则执行此函数并更新表!