无法将json键值设置为变量

时间:2018-09-09 02:46:52

标签: javascript jquery json

我一直在获取'[object HTMLParagraphElement]'而不是ID值。

它应该看起来像这样:http://a-new-url=287&the-rest-of-the-url

我尝试将console.log输出设置为变量,但是我无法使其正常运行。我也尝试在URL字符串中使用'value.id',但这不起作用。

我的代码:

<script>
    $.ajax({
        url: 'http://some-url',
        dataType: 'json',
        type: 'get',
        cache: false,
        success: function(data) {
            $(data.results[0]).each(function(index, value) {

            document.querySelector('#search_ID').innerHTML = value.id;
            console.log(value.id)
            });
         }
    });

document.getElementById("ID_url").innerHTML = 'http://a-new-url=' + search_ID + '&the-rest-of-the-url'

</script>


<!-- Displays the ID from the json file I'm accessing -->
<div id="search_ID"></div>  

<!-- Displays the URL -->
<div id="ID_url"></div>

这是我的结果:

287 ==>这是我一直在寻找的正确ID值,并且也显示在控制台中

http://a-new-url=[object HTMLParagraphElement]&the-rest-of-the-url

我希望有人可以向我展示一种将控制台输出正确设置为变量的方法,或者最好是能够将json查询的结果设置为可以将键值设置为的变量,然后将其插入到我创建的URL中。

谢谢您的帮助!

1 个答案:

答案 0 :(得分:0)

尝试以下代码:

<script>
$.ajax({
    url: 'http://some-url',
    dataType: 'json',
    type: 'get',
    cache: false,
    success: function(data) {
        $(data.results[0]).each(function(index, value) {

        document.querySelector('#search_ID').innerHTML = value.id;
        document.getElementById("ID_url")
               .innerHTML = 'http://a-new-url=' + value.id + '&the-rest-of-the-url'
        });
     }
});

</script>


<!-- Displays the ID from the json file I'm accessing -->
<div id="search_ID"></div>  

<!-- Displays the URL -->
<div id="ID_url"></div>

search_ID没有出现在代码段中,所以我不知道它是什么,但是我相信应该在URL中显示的是value.id。