结合tp封装的ajax方法
//ajax get请求
$('.ajax-get').click(function(){
var
target;
var
that =
this;
if
( $(this).hasClass('confirm')
) {
if(!confirm('确认要执行该操作吗?')){
return
false;
}
}
if
( (target = $(this).attr('href'))
|| (target = $(this).attr('url'))
) {
$.get(target).success(function(data){
if
(data.status==1) {
if
(data.url) {
updateAlert(data.info +
' 页面即将自动跳转~','alert-success');
}else{
updateAlert(data.info,'alert-success');
}
setTimeout(function(){
if
(data.url) {
location.href=data.url;
}else
if( $(that).hasClass('no-refresh')){
$('#top-alert').find('button').click();
}else{
location.reload();
}
},1500);
}else{
updateAlert(data.info);
setTimeout(function(){
if
(data.url) {
location.href=data.url;
}else{
$('#top-alert').find('button').click();
}
},1500);
}
});
}
return
false;
});
//ajax post submit请求
$('.ajax-post').click(function(){
var
target,query,form;
var
target_form = $(this).attr('target-form');
var
that =
this;
var
nead_confirm=false;
if( ($(this).attr('type')=='submit')
|| (target = $(this).attr('href'))
|| (target = $(this).attr('url'))
){
form = $('.'+target_form);
if
($(this).attr('hide-data')
===
'true'){//无数据时也可以使用的功能
form = $('.hide-data');
query = form.serialize();
}else
if
(form.get(0)==undefined){
return
false;
}else
if
( form.get(0).nodeName=='FORM'
){
if
( $(this).hasClass('confirm')
) {
if(!confirm('确认要执行该操作吗?')){
return
false;
}
}
if($(this).attr('url')
!==
undefined){
target = $(this).attr('url');
}else{
target = form.get(0).action;
}
query = form.serialize();
}else
if( form.get(0).nodeName=='INPUT'
|| form.get(0).nodeName=='SELECT'
|| form.get(0).nodeName=='TEXTAREA')
{
form.each(function(k,v){
if(v.type=='checkbox'
&& v.checked==true){
nead_confirm =
true;
}
})
if
( nead_confirm && $(this).hasClass('confirm')
) {
if(!confirm('确认要执行该操作吗?')){
return
false;
}
}
query = form.serialize();
}else{
if
( $(this).hasClass('confirm')
) {
if(!confirm('确认要执行该操作吗?')){
return
false;
}
}
query = form.find('input,select,textarea').serialize();
}
//console.log(target);return;
$(that).addClass('disabled').attr('autocomplete','off').prop('disabled',true);
$.post(target,query).success(function(data){
if
(data.status==1) {
if
(data.url) {
updateAlert(data.info +
' 页面即将跳转~','alert-success');
}else{
updateAlert(data.info ,'alert-success');
}
setTimeout(function(){
if
(data.url) {
location.href=data.url;
}else
if( $(that).hasClass('no-refresh')){
$('#top-alert').find('button').click();
$(that).removeClass('disabled').prop('disabled',false);
}else{
location.reload();
}
},1500);
}else{
updateAlert(data.info);
setTimeout(function(){
if
(data.url) {
location.href=data.url;
}else{
$('#top-alert').find('button').click();
$(that).removeClass('disabled').prop('disabled',false);
}
},1500);
}
});
}
return
false;
});
本文介绍了一种基于ThinkPHP框架的AJAX请求封装方法,包括GET和POST两种请求方式。通过点击事件触发AJAX调用,并实现了数据验证、操作确认及响应处理等功能。
841

被折叠的 条评论
为什么被折叠?



