Отображение результата в Консоли построчно - PullRequest
0 голосов
/ 15 мая 2019

У меня есть программа, которая использует json и ajax. Когда я нажимаю кнопку «ОК», она отображает результат в консоли. Вместо того, чтобы отображать его в журнале консоли, в одной строке необходимо отображать строку в строке, которую я пытался использовать с помощью функции кодирования, но она все равно не работает.

братья и сестры должны отображаться на консоли первой страницы вот мой код

  <script type="text/javascript">

kyu = (function (document, window, kyu) {   
  var node = Node.prototype,
      nodeList = NodeList.prototype,
      forEach = 'forEach',
      trigger = 'trigger',
      each = [][forEach], 
      dummy = document.createElement('i');

  nodeList[forEach] = each;

  window.on = node.on = function (event, fn) {
    this.addEventListener(event, fn, false);

    return this;
  };

  nodeList.on = function (event, fn) {
    this[forEach](function (el) {
      el.on(event, fn);
    });
    return this;
  };

  window[trigger] = node[trigger] = function (type, data) { 
    var event = document.createEvent('HTMLEvents');
    event.initEvent(type, true, true);
    event.data = data || {};
    event.eventName = type;
    event.target = this;
    this.dispatchEvent(event);
    return this;
  };

  nodeList[trigger] = function (event) {
    this[forEach](function (el) {
      el[trigger](event);
    });
    return this;
  };

  kyu = function (s) { 
    var r = document.querySelectorAll(s || '?'),
        length = r.length; 
    return length == 1 ? r[0] : r;
  };

  kyu.on = node.on.bind(dummy);
  kyu[trigger] = node[trigger].bind(dummy);

  return kyu;
})(document, this);
</script>
</head>
<body>
<div id="hello"> 
<div id="container">
  siblings:<br>
  <input class="siblings" placeholder="Sibling 1"/><br>
  <input class="siblings" placeholder="Sibling 2"/><br>
  <input class="siblings" placeholder="Sibling 3"/><br/> 
    </div>
    <div id="container1">
      <input id="plus" type="button" value="+">
    <input id="ok"   type="button" value="ok">
    </div> 
<script type="text/javascript"> 
  kyu("#plus").addEventListener("click",function(){ 
    var container=kyu('#container');
    var siblings= kyu('.siblings');
    var count = siblings.length+1;
    var newNode = document.createElement("input"); 
    newNode.classList.add("siblings");
    newNode.placeholder = "siblings" + count; 
    container.appendChild(newNode); 
  }); 
  </script> 
</body>
</html>
 <script type="text/javascript"> 
  var btn = kyu("#ok");
  btn.onclick = function(){
  var req = new XMLHttpRequest();
    var siblings= kyu('.siblings');
     var wew=0;
    var res="";
    var data="{";
    while(siblings.length>wew){
      data+= "'Siblings #" + (wew+1) +"': '"+siblings[wew].value+"', ";
      wew++; 
    }
 data+="}";  
 var po= data.slice(0,-3)+"}"
 //var data={po};
  req.onreadystatechange = function() {
  if(req.readyState == XMLHttpRequest.DONE){
    var wew = JSON.parse(req.responseText); 

      // var new1p= new array('Siblings'=>wew);
      var ll= wew.Siblings; 
        //alert(ll);
     console.log(ll);

      //var mop=(JSON.parse(wew.Siblings));
  }
};
req.open("POST", "poi2.php", true);
req.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
req.send('siblings='+po);
}
</script>

и вторая страница

<?php
extract($_POST);
$result= $siblings; 
$arrayName = array('Siblings'=>$result);

$poi = json_encode($arrayName);
echo $poi;
?>

1 Ответ

0 голосов
/ 15 мая 2019

Хотя ll является NodeList, его можно преобразовать в массив, а затем работать с ним с помощью методов массива.

Как, например, соединение с разрывами строк:

Array.prototype.slice.call(ll).join('\r\n')

Подробнее о преобразовании в массив .

...