Я играю в консоли с Vanilla JS, смотрю, как извлечь данные с веб-страниц, надеюсь, создать веб-расширение для автоматизации некоторых деталей получения данных, предоставляемых только через Интернет.
datastore = {hash: <a random alphanumeric string>, value: <some string>}
button.onclick = function (){
console.log("Sending to database");
storeData(datastore);
}
Источником данных и назначением данных являются разные URL-адреса, а для получателя SSL еще не включен.
function storeData(data){
var xhr = new XMLHttpRequest();
xhr.open("PUT", "//server/lib/insert_data.php")
xhr.onreadystatechange = function () {
console.log(xhr.readyState + ", Text: " + xhr.responseText, + ", Status: " + xhr.status);
}
xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
xhr.send("option=" + data.hash);
}
Я проверяю, что сервер может обработать запрос:
insert_data.php:
<?php
if(isset($_POST['option'])){
$source_id = $_POST['option'];
}
echo json_encode($option);
?>
Консоль возвращает NaN как responseText, и я потратил несколько часов на изучение того, что это значит.
07:50:01.828 Sending to database Scratchpad/4:41:2
07:50:06.170 2, Text: NaN Scratchpad/4:114:7
07:50:06.172 4, Text: NaN Scratchpad/4:114:7
Я не уверен, как проверить, что серверная сторона получает с точки зрения данных,
так что любые советы о том, как отлаживать это было бы полезно.
Я не уверен, пытаюсь ли я сделать что-то, что невозможно сделать.