任何document.body / getElementsByClassName /或其他任何返回带有路由/图层的相同列表,这怎么可能?

时间:2019-03-29 18:13:48

标签: javascript dom

var data = document.getElementsByClassName('searchauthor__input')[0].value; 
我的js中的

不返回任何值。上面的事件监听器工作正常。它会返回更多代码,然后将其放入控制台日志中(如下面的代码所示)。

我尝试了所有不同种类的document.tag,它们的响应都相同。为此编写了一个单独的函数。

     var searchA = document.getElementsByName('searchauthor')[0];
     searchA.addEventListener('click', searchAuthor);

     function searchAuthor(){
     var data = document.getElementsByClassName('searchauthor__input') 
     [0].value;
     console.log(data);
     var xhttp = new XMLHttpRequest();
     xhttp.onreadystatechange = function() {
     if (this.readyState == 4 && this.status == 200) {
        console.log(this.responseText);
     }
     };
     xhttp.open("POST", "/database/searchdb", true);
     xhttp.setRequestHeader("Content-type","application/json;charset=UTF- 
     8");
     xhttp.send(JSON.stringify(data));
     };

HTML:

          <div class="search">
          <p>Search by author</p>
          <input class="searchauthor__input" type="text">
          <button class="search__button" type="button" 
          name="searchauthor">Search</button>
          <p>Search by title</p>
          <input class="search__input">
          <button class="search__button" type="button" 
          name="searchtitle">Search</button>
          </div>

console.log(data)响应中的一小部分:

         route {
           path: '/database/searchdb',
           stack:
        [ Layer {
           handle: [Function],
           name: '<anonymous>',
           params: undefined,
           path: undefined,
           keys: [],
          regexp: { /^\/?$/i fast_star: false, fast_slash: false },
          method: 'post' } ],
          methods: { post: true } } }

0 个答案:

没有答案