Вход Регистрация
Файл: src/javascript/features/ajax/-lib.js
Строк: 43
<?php
// https://github.com/yanatan16/nanoajax/blob/master/index.js
exports.init = function (paramscallback) {
    if (
typeof params === 'string'params = {urlparams};
    var 
headers params.headers || {},
        
body params.body,
        
method params.method || (body 'POST' 'GET'),
        
withCredentials params.withCredentials || false;

    var 
req getRequest();

    
req.onreadystatechange = function () {
        if (
req.readyState === 4callback(req.statusreq.responseTextreq);
    };

    if (
body) {
        
setDefault(headers'X-Requested-With''XMLHttpRequest');
        
setDefault(headers'Content-Type''application/x-www-form-urlencoded');
    }

    
req.open(methodparams.urltrue);

    
// has no effect in IE
    // has no effect for same-origin requests
    // has no effect in CORS if user has disabled 3rd party cookies
    
req.withCredentials withCredentials;

    for (var 
field in headers) {
        if (
headers.hasOwnProperty(field)) req.setRequestHeader(fieldheaders[field]);
    }

    
req.send(body);
};

function 
getRequest() {
    if (global.
XMLHttpRequest) {
        return new global.
XMLHttpRequest();
    }
    try {
        return new global.
ActiveXObject('MSXML2.XMLHTTP.3.0');
    } catch (
e) {}

    throw new 
Error('no xmlhttp request able to be created');
}

function 
setDefault(objkeyvalue) {
    
obj[key] = obj[key] || value;
}
?>
Онлайн: 0
Реклама