jQuery - Публикация содержимого файла с сервера на страницу - PullRequest
0 голосов
/ 06 августа 2020

У меня очень простая c динамическая c jQuery функция поиска, которая запрашивает массив json:

<!DOCTYPE html>
<html>
 <head>
  <title></title>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" />
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
  <style>
  #result {
   position: absolute;
   width: 100%;
   max-width:870px;
   cursor: pointer;
   overflow-y: auto;
   max-height: 400px;
   box-sizing: border-box;
   z-index: 1001;
  }
  .link-class:hover{
   background-color:#f1f1f1;
  }
  </style>
 </head>
 <body>
  <br /><br />
  <div class="container" style="width:900px;">
   <h3 align="center">Search ...</h3>   
   <br /><br />
   <div align="center">
    <input type="text" name="search" id="search" placeholder="Search ..." class="form-control" />
   </div>
   <ul class="list-group" id="result"></ul>
   <br />
  </div>
 </body>
</html>

<script>
$(document).ready(function(){
 $.ajaxSetup({ cache: false });
 $('#search').keyup(function(){
  $('#result').html('');
  $('#state').val('');
  var searchField = $('#search').val();
  var expression = new RegExp(searchField, "i");
  $.getJSON('data.json', function(data) {
   $.each(data, function(key, value){
    if (value.name.search(expression) != -1 || value.location.search(expression) != -1)
    {
     $('#result').append('<li class="list-group-item link-class"><img src="'+value.image+'" height="40" width="40" class="img-thumbnail" /> '+value.name+' | <span class="text-muted">'+value.location+'</span></li>');
    }
   });   
  });
 });
 
 $('#result').on('click', 'li', function() {
        $.post("https://123.xyz/endpoint",
    
    -- payload here ---
    
    function(data,status){
      alert("Data: " + data + "\nStatus: " + status);
    });
   
 });
});

</script>

В массиве json объекты хранятся в следующем формате:

{
    "name":"Apples",
    "image": "images/apples.jpg",
    "location":"Depot 1, 12",
    "path":"https://123.xyz/data/343r.xml"
  },
  {
    "name":"Oranges",
    "image": "images/oranges.jpg",
    "location":"Depot 1, 13"
    "path":"https://123.xyz/data/331r.xml"
  },

Объект «путь» в массиве представляет физическое расположение файла на сервере.

Когда пользователь выполняет поиск и щелкает соответствующую информацию, мне нужна функция для отправки содержимого плоского файла на сервере в другую конечную точку на сервере (т.е. передать XML файл -> https://123.xyz/endpoint).

Однако я борюсь чтобы выяснить, как это сделать. Я могу опубликовать данные в формате json, но я не знаю, как передать строку плоского файла, который уже существует на сервере (без использования функции загрузки), из одного места в другое.

файлы - это XML данные - это немного ресурсоемко, но могут ли они быть прочитаны в другую переменную, а затем отправлены в виде строки в конечную точку?

Любые советы приветствуются.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...