// JavaScript Document
//3$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
//module.exports=
function serialize (mixedValue) {
// discuss at: https://locutus.io/php/serialize/
// original by: Arpad Ray (mailto:arpad@php.net)
// improved by: Dino
// improved by: Le Torbi (https://www.letorbi.de/)
// improved by: Kevin van Zonneveld (https://kvz.io/)
// bugfixed by: Andrej Pavlovic
// bugfixed by: Garagoth
// bugfixed by: Russell Walker (https://www.nbill.co.uk/)
// bugfixed by: Jamie Beck (https://www.terabit.ca/)
// bugfixed by: Kevin van Zonneveld (https://kvz.io/)
// bugfixed by: Ben (https://benblume.co.uk/)
// bugfixed by: Codestar (https://codestarlive.com/)
// bugfixed by: idjem (https://github.com/idjem)
// input by: DtTvB (https://dt.in.th/2008-09-16.string-length-in-bytes.html)
// input by: Martin (https://www.erlenwiese.de/)
// note 1: We feel the main purpose of this function should be to ease
// note 1: the transport of data between php & js
// note 1: Aiming for PHP-compatibility, we have to translate objects to arrays
// example 1: serialize(['Kevin', 'van', 'Zonneveld'])
// returns 1: 'a:3:{i:0;s:5:"Kevin";i:1;s:3:"van";i:2;s:9:"Zonneveld";}'
// example 2: serialize({firstName: 'Kevin', midName: 'van'})
// returns 2: 'a:2:{s:9:"firstName";s:5:"Kevin";s:7:"midName";s:3:"van";}'
// example 3: serialize( {'ü': 'ü', '四': '四', '': ''})
// returns 3: 'a:3:{s:2:"ü";s:2:"ü";s:3:"四";s:3:"四";s:4:"";s:4:"";}'
let val, key, okey;
let ktype='';
let vals='';
let count=0;
const _utf8Size=function (str) {
return ~-encodeURI(str).split(/%..|./).length;
}
const _getType=function (inp) {
let match;
let key;
let cons;
let types;
let type=typeof inp;
if (type === 'object' && !inp) {
return 'null';
}
if (type === 'object') {
if (!inp.constructor) {
return 'object';
}
cons=inp.constructor.toString();
match=cons.match(/(\w+)\(/);
if (match) {
cons=match[1].toLowerCase();
}
types=new Array('boolean', 'number', 'string', 'array');
for (key in types) {
if (cons === types[key]) {
type=types[key];
break;
}
}
}
return type;
}
const type=_getType(mixedValue)
switch (type) {
case 'function':
val='';
break;
case 'boolean':
val='b:' + (mixedValue ? '1' : '0');
break;
case 'number':
val=(Math.round(mixedValue) === mixedValue ? 'i' : 'd') + ':' + mixedValue;
break;
case 'string':
val='s:' + _utf8Size(mixedValue) + ':"' + mixedValue + '"';
break;
case 'array':
case 'object':
val='a';
/*
if (type === 'object') {
var objname=mixedValue.constructor.toString().match(/(\w+)\(\)/);
if (objname === undefined) {
return;
}
objname[1]=serialize(objname[1]);
val='O' + objname[1].substring(1, objname[1].length - 1);
}
*/
for (key in mixedValue) {
if (mixedValue.hasOwnProperty(key)) {
ktype=_getType(mixedValue[key]);
if (ktype === 'function') {
continue;
}
okey=(key.match(/^[0-9]+$/) ? parseInt(key, 10) : key);
vals += serialize(okey) + serialize(mixedValue[key]);
count++;
}
}
val += ':' + count + ':{' + vals + '}';
break;
case 'undefined':
default:
// Fall-through
// if the JS object has a property which contains a null value,
// the string cannot be unserialized by PHP
val='N';
break;
}
if (type !== 'object' && type !== 'array') {
val += ';';
}
return val;
}//!\jsc:end:function serialize (mixedValue) {
//3$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
function jsc_getformDataObj(formthis){//,iData){
formData=new FormData(formthis);
///formData.append("testData","totot");
formData.append("userSite",jsStartSite.userSite);
formData.append("isDir_iC",jsStartSite.isDir_iC);
formData.append("isDir_Site",jsStartSite.isDir_Site);
formData.append("isLOCALHOST",jsStartSite.isLOCALHOST);
formData.append("isRemoteIP",jsStartSite.isRemoteIP);
formData.append("isLang",jsStartSite.isLang);
formData.append("isConnected",jsStartSite.isConnected);
/*
// oData.isDir_Site=iData.isDir_Site;
// jsonParseResponse.fileX="toto";
// oData.userSite=jsStartSite.userSite;
// oData.fileX=linkAjax;
const item = {
description: 'First item',
price: 13,
photo: File
};
//const formData = new FormData();
Object.entries(item).forEach(([key, value]) => {
formData.append(key, value);
});
*/
if(0){
jsline=123;jsfct_dvlptAlert('line= forum.js.php,'+jsline+'\n'+'formData= '+formData
+'\n'+'Object.keys(formData)= '+Object.keys(formData)
+'\n'+'formData.fsuccess= '+formData.fsuccess+'\n'+'formData.mail= '+formData.mail
+'\n'+'formData.tobor= '+formData.tobor+'\n'+'formthis= '+formthis
);
}
//return(formData);// si oui pas de coche
//,iData
//formData.append("iData",iData);
formDataObj={};formData.forEach((value,key)=>(formDataObj[key]=value));
//formDataObj=Object.assign(iData,formDataObj);
if(0){
jsline=126;jsfct_dvlptAlert('line= forum.js.php,'+jsline+'\n'+'formDataObj= '+formDataObj
+'\n'+'formDataObj.success= '+formDataObj.success+'\n'+'formDataObj.mail= '+formDataObj.mail
+'\n'+'formDataObj.pass= '+formDataObj.pass+'\n'+'formDataObj.select= '+formDataObj.select
+'\n'+'formDataObj.tobor= '+formDataObj.tobor+'\n'+'formDataObj.userSite= '+formDataObj.userSite
);
}
return(new Array(formData,formDataObj));
///alert('line= '+'89'+'\n'+'formDataObj= '+formDataObj+'\n'+'formDataObj.success= '+formDataObj.success);
//list=formDataObj._form_;datas=formDataObj;
//return(new Array(formDataObj._form_,formDataObj));//ex: formDataObj._form_=>value="logger.0,username,password"
// const formData=new FormData(form);
// const values=[...formData.entries()];
// const values=[...formData.entries()];
}//!\jsc:end:function jsc_getformDataObj(formthis) {
//3$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
function jsc_XgetjsonParseResponse(){//xdr,iData) {
if(0){
jsline=145;jsfct_dvlptAlert('line= forum.js.php,'+jsline+'\n'+'xdr.responseText= '+xdr.responseText
+'\n'+'iData.userSite= '+iData.userSite
);
}
//!\sendX //step:logger:9 traitment of xdr.responseText
code=xdr.responseText;
return(code);//JSON.parse(xdr.responseText);//JSON.parse(xdr.responseText);
//-----
if(0){
jsline=153;jsfct_dvlptAlert('line= forum.js.php,'+jsline+'\n'+'code= '+code
);
}
//-----
convertedCode=decodeURI(code).replace(/\\"/gi,""); //c corrige la chaîne code envoyée par json_encode
convertedCode=JSON.parse(convertedCode); //c transforme la chaîne convertedCode en modèle $_POST dans JS
// if(iData){convertedCode=Object.assign(iData,convertedCode);}
//-----
if(0){
jsline=154;jsfct_dvlptAlert('line= forum.js.php,'+jsline+'\n'+'convertedCode= '+Object.keys(convertedCode)
+'\n'+'iData.pass= '+iData.pass+'\n'+'convertedCode.success= '+convertedCode.success
);
}
//-----
// convertedCode=Object.assign(iData,convertedCode);
//-----
if(0){
jsline=162;jsfct_dvlptAlert('line= forum.js.php,'+jsline+'\n'+'convertedCode= '+Object.keys(convertedCode)
+'\n'+'convertedCode.iData= '+convertedCode.iData
);
}
return(convertedCode);//JSON.parse(xdr.responseText);//JSON.parse(xdr.responseText);
}//!\jsc:end:X:function jsc_XgetjsonParseResponse(xdr) {
//3$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
function getXDomainRequest() {
fct="getXDomainRequest()";
// let xdr = null;
if (window.XDomainRequest) {xdr = new XDomainRequest(); }
else if (window.XMLHttpRequest) { xdr = new XMLHttpRequest(); }
else {
jsline=153;jsfct_dvlptAlert('line= forum.js.php,'+jsline+"\n"+"//!\fr Votre navigateur ne gère pas l'AJAX cross-domain !");
}
return xdr;
}//!\jsc:end:ajax:getXDomainRequest()
//3$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
function xxxsendDataOpenResults(formthis) {//xdr,iData) {
// +'\n'+'jsonResponse.success= '+jsonParseResponse.success
//!\sendX //step:logger:8 traitment of xdr.responseText
let sep='';
let d0=formatTimeMMSS(new Date(),sep);
//oData=jsonParseResponse=xdr.responseText;// ?? jsc_XgetjsonParseResponse();//xdr,iData);
if(0){
jsline=165;jsfct_dvlptAlert('line= forum.js.php,'+jsline+'\n'+'iData= '+iData
+'\n'+'xdr.responseText= '+xdr.responseText+'\n'+'jsonParseResponse.mail= '+jsonParseResponse.mail
+'\n'+'jsonParseResponse.success= '+jsonParseResponse.success
);
}
// results=jsonParseResponse;
d1=d0;
while (d1-d0<3) {//inférieur à 3s
d1=formatTimeMMSS(new Date(),sep);
if((d1-d0)){
// JSON.parse(array) JSON.stringify(value)
oData=jsonParseResponse=JSON.parse(xdr.responseText);
// oData.success=(d1-d0);
//-----
if(1){
jsline=252;jsfct_dvlptAlert('line= forum.js.php+connection.php,'+jsline
+'\n'+'oData.success= '+oData.success+'\n'+'oData= '+oData);
//jsline=613;jsfct_dvlptAlert('line= forum.js.php+connection.php,'+jsline+'\n'+'oData= '+Object.keys(oData));
}
//!\sendX //step:logger:11 final oData <- traitment of xdr.responseText ready
//-----
if(oData.success){
//idSuccessHx idSuccessHx
///idSuccessIHx=formthis.idSuccessHx;
idSuccessHx=document.getElementById(formthis.idSuccessHx.name);
idSuccessHx.style.padding="5";
idSuccessHx.style.margin="5";
idSuccessHx.style.border="dashed 2px green";//"dashed 1px green";
idSuccessHx.style.background="#efeeef";//"dashed 1px green";
idSuccessHx.style.fontWeight="bold";
idSuccessHx.style.fontSize="1.5vw";
idSuccessHx.style.display="inline";
jsmethodControlCommonWaiting("idSuccessHx","//!\fr réussite","green");
//-----
idResponseHx=document.getElementById("idResponseHx");
idResponseHx.style.fontSize="0.8vw";
idResponseHx.innerHTML=iData.mail+", "+iData.pass+", "+" | "+oData.mail+", "+oData.pass+" | "
+(iData.mail==oData.mail&&iData.pass==oData.pass);
//-----
idobjectConON0=document.getElementById("idobjectConON0");
//idobjectConON0.style.display="inline";
idobjectConON1=document.getElementById("idobjectConON1");
idobjectConON0.style.display=idobjectConON1.style.display="inline";
//-----
idobjectConOFF=document.getElementById("idobjectConOFF");
idobjectConOFF.style.display="none";
//-----
if(1){
jsline=261;jsfct_dvlptAlert('line= forum.js.php+connection.php,'+jsline+'\n'+'linkAjax fonctionne ? = '+oData.success
+'\n'+'oData._form_= '+oData._form_
+'\n'+'oData.mail= '+oData.mail
+'\n'+'oData.pass= '+oData.pass
+'\n'+'oData.dataSerialize= '+oData.dataSerialize
+'\n'+'oData.okX= '+oData.okX
+'\n'+'oData.login= '+oData.login
+'\n'+'oData.Connected= '+oData.Connected
+'\n'+'oData.userSite= '+oData.userSite
+'\n'+'oData.fluxX= '+oData.fluxX
);
}
if(oData.login.connecting)return(true);
//!\sendX //step:logger:12 traitment of dataBase ??
return(true);
}
idSuccessHx.style.color="red";
// oData.isDir_Site=iData.isDir_Site;
// jsonParseResponse.fileX="toto";
// oData.userSite=jsStartSite.userSite;
// oData.fileX=linkAjax;
// oData=jsonParseResponse;
/// results=jsonParseResponse;
//break;
// step=1;
if(1){
jsline=243;jsfct_dvlptAlert('line= forum.js.php,'+jsline+'\n'+'(d1-d0)= '+(d1-d0)+'\n'+'jsonParseResponse.mail= '+jsonParseResponse.mail);
}
//return(jsonParseResponse);
// results=jsonParseResponse;
/// return(jsonParseResponse);// oData
// return(oData);
break;//!\sendX //step:logger:9 traitment of xdr.responseText ready
}
}
// step=1;
////return(oData);//:jsonParseResponse);
//return(oData);//:jsonParseResponse);
}
//function sendDataOpen(iData,linkAjax,synchro,xdr) {
function sendDataOpen(formthis){//linkAjax,synchro,xdr){
xdr.onload = function() {// avec
//!\sendX //step:logger:7 send formdata+iData -> X.php -> return oData
// iData.success=1;
// oData=
sendDataOpenResults(formthis);//xdr,iData);
// return(oData);
// oData.success=1;
//!\sendX //step:logger:10 traitment of xdr.responseText ready
if(0){
jsline=222;jsfct_dvlptAlert('line= forum.js.php,'+jsline+'\n'+'iData= '+iData
+'\n'+'oData.mail= '+oData.mail+'\n'+'oData.mail= '+oData.mail
);
}
}//!\js.end:xdr.onload = function() {
//-----
//https://stackoverflow.com/questions/22783108/convert-js-object-to-form-data
///arr0=iData;iData=arr0[1];
//formadata=arrO[0];
if(0){
jsline=297;jsfct_dvlptAlert('line= forum.js.php+connection.php,'+jsline
+'\n'+'formadata= '+formdata+'\n'+'iData= '+iData
);
}
//+'\n'+'arr0[0]= '+arr0[0]+'\n'+'arr0[1]= '+arr0[1]
//-----
//!\sendX //step:logger:6 send formdata+iData -> X.php -> return oData
xdr.open("POST",linkAjax,synchro);// synchro=false permet d'ATTENDRE que results vers return(results);
if(0){
jsline=305;jsfct_dvlptAlert('line= forum.js.php,'+jsline+'\n'+'iData= '+Object.keys(iData)
+'\n'+'iData.mail= '+iData.mail
);
}
xdr.send(formdata);//arr0[0]);
//-----
//if(oData)return(oData);
//if(oData.success)
// return(oData);
//!\sendX //step:logger:? return oData after xdr.onload
}//!\jsc:end:ajax:function sendDataOpen(datas,linkAjax) {
//3$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
function padTo2Digits(num) {
return num.toString().padStart(2, '0');
}//!\jsc:end:format:number:function padTo2Digits(num) {
//3$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
function formatDate(date) {
return (
[
date.getFullYear(),
padTo2Digits(date.getMonth() + 1),
padTo2Digits(date.getDate()),
].join('-') +
' ' +
[
padTo2Digits(date.getHours()),
padTo2Digits(date.getMinutes()),
padTo2Digits(date.getSeconds()),
].join(':')
);
}//!\jsc:end:format:date:function formatDate(date) {
//3$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
function formatTimeMMSS(date) {
return (
[
padTo2Digits(date.getHours()),
padTo2Digits(date.getMinutes()),
padTo2Digits(date.getSeconds()),
].join('')//.join(':')
);
}//!\jsc:end:format:date:function formatTimeMMSS(date) {
//3$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
function yyyyxxxxsendReadyPOST(datas,linkAjax,synchro,xdr){//with success
// https://byby.dev/js-format-date
// https://bobbyhadz.com/blog/javascript-format-date-yyyy-mm-dd-hh-mm-ss
if(!xdr)xdr = getXDomainRequest();
///let synchro=false;
let results;
let sep='';
let d0=formatTimeMMSS(new Date(),sep);
//let step;
if(0){
jsline=283;jsfct_dvlptAlert('line= forum.js.php,'+jsline+'\n'+'datas= '+datas+'\n'+'datas._form_= '+datas._form_+'\n'+'d0= '+d0+'\n'+'xdr= '+xdr);
}
//-----
xdr.onload = function(datas,results,step) {// avec
let jsonParseResponse=jsc_XgetjsonParseResponse(xdr,datas);
if(0){
jsline=289;jsfct_dvlptAlert('line= forum.js.php,'+jsline+'\n'+'datas= '+datas+'\n'+'xdr.responseText= '+convertedCode+'\n'+'jsonParseResponse= '+jsonParseResponse.success);
}
results=jsonParseResponse;
let d1=d0;
while (d1-d0<3) {//inférieur à 3s
d1=formatTimeMMSS(new Date(),sep);
if(1&&(d1-d0)){
// JSON.parse(array) JSON.stringify(value)
jsonParseResponse.success=(d1-d0);
if(1){
jsline=299;jsfct_dvlptAlert('line= forum.js.php,'+jsline+'\n'+'(d1-d0)= '+(d1-d0)+'\n'+'jsonResponse.success= '+
jsonParseResponse.success//+'\n'+'jsonStringifyResponse= '+jsonStringifyResponse
);
}
results=jsonParseResponse;
}
}
step=1;
}//!\js.end:xdr.onload = function() {
//-----
//iData=datas;//formatoData(datas,linkAjax,synchro,xdr);
xdr.open("POST",linkAjax,synchro);// false permet d'attendre que results vers return(results);
xdr.send(datas);
//-----
if(step)return(results);
//-----
if(0){
jsline=315;jsfct_dvlptAlert('line= forum.js.php,'+jsline+'\n'+'datas= '+datas+'\n'+'Object.valuess(datas)= '+Object.values(datas));
}
xdr.open("POST",linkAjax,synchro);// synchro=false permet d'ATTENDRE que results vers return(results);
xdr.send(datas);//iData);
return(results);//!\obligatoire:
// iData.append("datas", iData.serialize());
if(0){
datas={
success:0
,firstName: 'Kevin'
, midName: 'van'
,cni:'a:5:{i:0;s:17:"Michel Boussekeyt";i:1;s:23:"3 rue Victor Schoelcher";i:2;s:13:"59790 Ronchin";i:3;s:12:"+33781391043";i:4;s:16:"fatima@gmail.com";}'
};
}
if(0){
jsline=330;jsfct_dvlptAlert('line= forum.js.php,'+jsline+'\n'+'datas= '+datas+'\n'+'Object.valuess(datas)= '+Object.values(datas));
}
//iData=datas;
// xdr.open("GET", linkAjax+datas);
//if(xdr.responseText!=='on'){
//x=serialize(xdr.responseText);
//alert('line= '+'244'+'\n'+'x= '+x);
//var_dump(x);
/*
a:5:{i:0;s:17:"Michel Boussekeyt";i:1;s:23:"3 rue Victor Schoelcher";i:2;s:13:"59790 Ronchin";i:3;s:12:"+33781391043";i:4;s:16:"fatima@gmail.com";}
*/
//document.write("Serialized the above data ; " +'
');
//
//y=unserialize(x);
//document.write('
'+"Unserialize the above data and go back to original array : " +'
');
//var_dump(y);
// C:\atelier\sommaire+content\0\js\indexTools-THESEA.js
// convertedCode=decodeURI(code).replace(/\\"/gi,""); //c corrige la chaîne code envoyée par json_encode
// convertedCode=JSON.parse(convertedCode); //c transforme la chaîne convertedCode en modèle $_POST dans JS
}//!\jsc:end:ajax:function sendDataPOST(datas,linkAjax) {
//3$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
function yyyyyxxxxsendReadyPOST0(datas,linkAjax){//with success
// https://byby.dev/js-format-date
// https://bobbyhadz.com/blog/javascript-format-date-yyyy-mm-dd-hh-mm-ss
let xdr = getXDomainRequest();
let synchro=false,results;
let d0=formatTimeMMSS(new Date());
let step;
/*
d0=[
padTo2Digits(d0.getHours()),
padTo2Digits(d0.getMinutes()),
padTo2Digits(d0.getSeconds()),
].join('');//.join(':');
*/
jsline=372;jsfct_dvlptAlert('line= forum.js.php,'+jsline+'\n'+'d0= '+'\n'+d0+'xdr= '+'\n'+xdr);
xdr.onload = function(datas,results,step) {// avec
jsline=375;jsfct_dvlptAlert('line= forum.js.php,'+jsline+'\n'+xdr.responseText);
//let jsonResponse=JSON.parse(xdr.responseText);//JSON.parse(xdr.responseText);
let d1=d0;
results={"success":0};
while (d1-d0<5) {//inférieur à 5s
d1=formatTimeMMSS(new Date());
if(jsonResponse.success){
// results={"success":(datas.keywords==jsonResponse.keywords),"datas":jsonResponse};
results={"success":1,"datas":"toto"};
}
}
results={"success":1,"datas":"toto"};
step=1;
}
oData=formatoData(datas,linkAjax,synchro,xdr);
xdr.open("POST",linkAjax,synchro);// false permet d'attendre que results vers return(results);
// oData.append("datas", oData.serialize());
// xdr.open("GET", linkAjax+datas);
xdr.send(oData);
if(step)return(results);
//let d1=formatTimeMMSS(date)new Date());
// alert('jsonResponse'+'\n'+jsonResponse+'\n'+jsonResponse.keywords+'\n'+datas.keywords);
//results={"success":(datas.keywords==jsonResponse.keywords),"datas":jsonResponse};
// }
/*
/// xdr.open("GET", "http://www.foxycode.net/dev/ajax/XDomain_1.php");
//var line='?essai=ok'; datas
/// xdr.open("GET", "http://www.pooletude.com/iCloud/systemboost/scripts/sendmail.php"+line);
/// xdr.open("GET", "http://www.pooletude.com/iCloud/systemboost/scripts/sendmail.php"+line);
//datas={"oData":serialize(datas)};
datas='{'+serialize(datas)+'}';
datas={"oData":datas};
alert(datas);
let oData=new FormData();
//oData.append("oData", datas);//.serialize());
//oData.append("datas0", datas);//.serialize());
// https://masteringjs.io/tutorials/fundamentals/foreach-key-value
Object.keys(datas).forEach(key => {
//console.log(key, obj[key]);
oData.append(key, datas[key]);
});
//oData.append("datas1", 1);
//oData.append("datas2", 2);
// oData.append("datas", oData.serialize());
xdr.open("POST",linkAjax,synchro);// synchro=false permet d'ATTENDRE que results vers return(results);
// oData.append("datas", oData.serialize());
// xdr.open("GET", linkAjax+datas);
xdr.send(oData);
// xdr.send({"oData":serialize(oData)});
return(results);
*/
}//!\js.end:function sendDataPOST(datas,linkAjax) {
function sendDataPOST(datas,linkAjax) {
var xdr = getXDomainRequest();
let synchro=false,results;
//let results;
//alert(xdr);
xdr.onload = function(datas,results,step) {
jsline=454;jsfct_dvlptAlert('line= forum.js.php,'+jsline+'\n'+xdr.responseText);
let jsonResponse=JSON.parse(xdr.responseText);//JSON.parse(xdr.responseText);
jsline=457;jsfct_dvlptAlert('line= forum.js.php,'+jsline+'\n'+'jsonResponse= '+jsonResponse+'\n'+jsonResponse.keywords+'\n'+datas.keywords);
results={"success":(datas.keywords==jsonResponse.keywords),"datas":jsonResponse};
}
oData=formatoData(datas,linkAjax,synchro,xdr);
xdr.open("POST",linkAjax,synchro);// false permet d'attendre que results vers return(results);
// oData.append("datas", oData.serialize());
// xdr.open("GET", linkAjax+datas);
xdr.send(oData);
// xdr.send({"oData":serialize(oData)});
return(results);
/// xdr.open("GET", "http://www.foxycode.net/dev/ajax/XDomain_1.php");
//var line='?essai=ok'; datas
/// xdr.open("GET", "http://www.pooletude.com/iCloud/systemboost/scripts/sendmail.php"+line);
/// xdr.open("GET", "http://www.pooletude.com/iCloud/systemboost/scripts/sendmail.php"+line);
/*
alert(datas);
datas='{'+serialize(datas)+'}';
datas={"oData":datas};
alert(datas);
*/
let oData=new FormData();
//oData.append("oData", datas);//.serialize());
Object.keys(datas).forEach(key => {
//console.log(key, obj[key]);
oData.append(key, datas[key]);
});
//oData.append("datas1", 1);
//oData.append("datas2", 2);
// oData.append("datas", oData.serialize());
xdr.open("POST",linkAjax,false);// false permet d'attendre que results vers return(results);
// oData.append("datas", oData.serialize());
// xdr.open("GET", linkAjax+datas);
xdr.send(oData);
// xdr.send({"oData":serialize(oData)});
return(results);
}//!\js.end:function sendDataPOST(datas,linkAjax) {
//!\jsc:end:format:date:function formatTimeMMSS(date) {