当不要求数字数据时,为什么AJAX返回NaN?

时间:2019-03-25 08:06:45

标签: javascript ajax

我正在使用Vanilla JS在控制台中玩耍,研究如何从网页中检索数据,希望创建一个Web扩展程序来自动检索仅由Web提供的数据的一些细节。

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

我不确定如何检查服务器端接收到的数据, 因此,有关如何进行调试的任何提示都会有所帮助。

我不确定是否要尝试做一些无法完成的事情。

0 个答案:

没有答案