我搜索了互联网以获取信息,但我似乎无法获得有关我正在使用的这段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));
}
});
如果有人可以详细解释一切代表什么,那就太好了。
答案 0 :(得分:0)
第一个代码只是一个伪代码,或者你说的算法代码来检查复选框输入元素的检查。
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,这样浏览器和服务器就不能也不能保存此请求的会话。
数据是添加到HttpRequest的其他响应或QueryString。例如,如果请求是GET(type: 'GET'
)。然后,您可以添加您的姓名或其他任何数据:
data: 'user_name=yourname&password=password'
这会添加到网址。
接下来是响应成功时要执行的功能。如果没有找到错误,那么将执行此函数并更新表格!