PageSourceSearch

https://static.thaiflirting.com/js/min/jsend-1.2.fix.js?v=2

js thaiflirting.com collected 2026-09-28 05:59:38 UTC 3,698 bytes, 18 lines download raw bytes

1(function(window,$){'use strict';function JSend(){if(!$){throw new Error('jQuery could be not detected. JSend requires jQuery to handle all requests.');}
2var self=(this instanceof JSend?this:new JSend()),args=arguments,defaults={},startTime=0,endTime=0,STATUS_SUCCESS='success',STATUS_FAIL='fail',STATUS_ERROR='error';self.status=null;self.jsendResponse=null;self.processing=false;self.elapsedTime=0;self.config={crossDomain:false,data:{},type:'GET',url:'xhr.php'};self.onSuccess=$.noop;self.onError=$.noop;self.onFail=$.noop;self.onComplete=$.noop;self.onFatal=$.noop;function _httpError(xhr,exception,error){var msg='';if(exception==='timeout'||error==='timeout'){msg='Timeout error.';}else if(xhr.status===0){msg='Can\'t connect. Verify network.';}else if(xhr.status===403){msg='URL Forbidden [403].';}else if(xhr.status===404){msg='URL Not Found [404].';}else if(xhr.status===500){msg='Internal Server Error [500].';}else if(exception==='parsererror'){msg='Requested JSON parse failed.';}else if(exception==='abort'){msg='Ajax request aborted.';}else if(error.message){msg=error.message+'.';}else{msg='Uncaught Error. '+xhr.responseText+' ['+xhr.status+'].';}
3self.onFatal(msg);throw new Error('A JSend HTTP error occurred: '+msg);}
4function _validateResponse(body,status,xhr){_trackRequest('stop');if(body&&body.hasOwnProperty('status')){return _createResponse(body,xhr,status);}
5self.onFatal('Invalid JSend format');throw new Error('Invalid JSend format: the body should always contain a status property');}
6function _createResponse(body,xhr){self.status=body.status;self.jsendResponse=body;switch(body.status){case STATUS_SUCCESS:self.onSuccess.apply(self,[body.data,xhr]);break;case STATUS_FAIL:self.onFail.apply(self,[body.data,xhr]);break;case STATUS_ERROR:self.onError.apply(self,[body.message,body.code,xhr]);break;}
7self.onComplete.apply(self,[body,xhr]);}
8function _trackRequest(phase){switch(phase){case'start':startTime=new Date().getMilliseconds();break;case'stop':endTime=new Date().getMilliseconds();self.elapsedTime=(endTime-startTime)+'ms';break;default:throw new Error('_trackRequest only accepts a `start` or `stop` phase');}}
9function _init(){if(args.length&&args[0].constructor===Object){self.xhr(args[0]);}
10defaults={success:_validateResponse,error:_httpError,beforeSend:function(){_trackRequest('start');self.processing=true;},complete:function(){self.processing=false;}};}
11self.setup=function(obj){self.config=$.extend(true,self.config,obj);return self;};self.success=function(fn){self.onSuccess=fn;return self;};self.fail=function(fn){self.onFail=fn;return self;};self.error=function(fn){self.onError=fn;return self;};self.complete=function(fn){self.onComplete=fn;return self;};self.fatal=function(fn){self.onFatal=fn;return self;};self.dispatch=function(){self.xhr();return self;};self.xhr=function(options){var setup=self.config;if(options){setup=$.extend(true,self.config,options);if('success'in setup){self.onSuccess=setup.success;}
12if('fail'in setup){self.onFail=setup.fail;}
13if('error'in setup){self.onError=setup.error;}
14if('complete'in setup){self.onComplete=setup.complete;}
15if('fatal'in setup){self.onFatal=setup.fatal;}
16setup.error=_httpError;setup.success=_validateResponse;}
17setup.dataType='json';$.ajax($.extend(true,setup,defaults));return self;};self.get=function(url,data,success){self.config.type='GET';self.config.data=data;self.config.url=url;self.onSuccess=success;self.xhr();return self;};self.post=function(url,data,success){self.config.type='POST';self.config.url=url;self.config.data=data;self.onSuccess=success;self.xhr();return self;};_init();return self;}
18window.JSend=window.Jsend=JSend;window.J$=new JSend();}(window,window.jQuery||null));

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.