首页 > 编程知识 正文

ajax调用php函数,ajax请求方式有几种

时间:2023-05-05 21:44:08 阅读:62772 作者:1064

现在有$btn按钮。 绑定单击事件,然后单击一次将POST请求提交到后端。 var$BTN=$('#BTN ' );

$BTN.click(function () ) ) ) )。

$.Ajax({URL:'a.PHP ',type: 'POST ',success: function ) }

控制台. log (ret;

}; );

);

但是,如果用户在很短的时间内多次单击按钮(例如,在1s中快速单击5次),则会向服务器发送很多数据,如果并发量大,则服务器可能无法食用。

您还可能希望在当前请求结束后,服务可以返回数据,然后再启动第二个请求。

因此,请封装$.smartAjax这一方法进行手震修正处理。 有用于决定抖动补偿方式——的参数smartType,如果其值为0,则要求在500ms内只能发出一个请求。

参数smarType的值为1表示只有在前一个服务器接收到包含失败响应的响应后,才能继续发送新请求。

示例: var$BTN1=$('#BTN1 ' );

var$BTN2=$('#BTN2 ' );

$BTN1.click(function () ) ) ) ) )。

每500毫秒最多只发送一个请求

$.smartAjax(smarttype:url: 'a.php ',type: 'POST ',success: function )。

控制台. log (ret;

}; );

);

$BTN2.click(function () ) ) ) ) )。

//只有当前的一个请求收到服务器的响应,才能提出新的请求

$.smartAjax(smarttype:1,url: 'a.php ',type: 'POST ',success: function )。

控制台. log (ret;

}; );

);

$.smartAjax=. //实现它

实现$.smartAjax=(function () )

var _time_start=0,

_flag=1; //为了判断是否可以发送请求

返回函数{

var noop=function,

validfun=function(f ) {

返回类型of f===' function '? f :空值

(,

smartType=opt opt.smartType,

processresponse=function{

['success ',' error ' ].foreach (function (RES funname ) ]

varresfun=valid fun (opt [ RES funname ]|| noop;

opt[resFunName]=function

callback (;

resfun.call(this,arguments ) )。

}

);

(,

typeCallback={

0: function () }

_flag(_time_start=date.now );

if (_ flag==0date.now (-_ time _ start 300 ) )。

_flag=1;

_time_start=Date.now (

}

(,

1: function () }

调用if(_time_start ) smartType=0,然后调用smartType=1可防止禁用

_flag=1;

_time_start=0

}

处理响应(功能) {

_flag=1;

() )

}

(;

varhassmarttype=type callback [ smart type ];

hassmarttypetypecallback [ smart type ] ()

if(_flag ) {

hassmarttype(_flag=0;

return$.Ajax(opt;

} else {

返回$.deferred (

}

}

() );

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。