У меня очень простая 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 данные - это немного ресурсоемко, но могут ли они быть прочитаны в другую переменную, а затем отправлены в виде строки в конечную точку?
Любые советы приветствуются.