Здравствуйте! Отправляю данные с помощью ajax, но через var_dump или print_r выводится пустой массив. подскажите, пожалуйста, из-за чего это может быть. Заранее благодарю! Код (Javascript): function ajax(url, method, functionName, dataArray) { let xhttp = new XMLHttpRequest(); xhttp.responseType ="json"; xhttp.open(method, url, true); xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); xhttp.send(dataArray); xhttp.onreadystatechange = function () { if (this.readyState == 4 && this.status == 200) { functionName(this); } } } function requestData(dataArr) { let out = ''; for (let key in dataArr) { out += `${key}=${dataArr[key]}&`; } console.log(out); return out; } let data = { "name": "Sasha", "age": 22 } ajax('data.php','POST', check, data); function check(){ }
Код (Javascript): function postAjax(url, data, success) { var log = false; var params = typeof data == 'string' ? data : Object.keys(data).map( function(k){ return encodeURIComponent(k) + '=' + encodeURIComponent(data[k]) } ).join('&'); var xhr = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP"); xhr.open('POST', url); xhr.onreadystatechange = function() { if (xhr.readyState>3 && xhr.status==200) { success(xhr.responseText); } if (xhr.status==500) { if( xhr.responseText.length !== 0 && log === false){ console.log(xhr.responseText); } }; } xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest'); xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); xhr.send(params); return xhr; } Код (Javascript): postAjax('data.php', data, function(result){ console.log(result); });
@Lina96, в data какая-то «фигня». --- Добавлено --- Обычно там сырые данные в URL- или multipart/form-data-формате (в зависимости от Content-Type). Также, чтобы вручную не кодировать multipart/form-data, можно использовать для этого параметра FormData.
Спасибо, но не стало лучше. В network видно, что данные передались, но на страницу все равно выводится пустой массив
На какую страницу? Вы же на сервер данные передаете. И если хотите читать сырые данные непонятного формата, читайте их из php://input (https://www.php.net/manual/en/wrappers.php.php).
нашла урок, все полностью повторила и все равно не получается получить данные никаким образом. хотя в ролике все срабатывает