rxjs-dom, как передавать данные в POST
Я использую rx.DOM.ajax
https://github.com/Reactive-Extensions/RxJS-DOM/blob/master/doc/operators/ajax.md
Я пытаюсь получить некоторые данные из URL, используя POST, но он ничего не возвращает.
Вот код:
Rx.DOM.ajax({
url: 'src/php/search.php',
method: "POST",
body: {
extra: "Extra"
}
});
Если я print_r($_POST)
в этом нет ничего Я ожидаю, что сервер получит $_POST
,
1 ответ
Так как rxjs-dom не работал, я нашел другой путь.
Не используйте rxjs-dom. Это может быть устаревшим. Я пошел использовать RXJS вместо. Вот что я сделал (использует jquery).
Из моей ситуации:
var search_bar = $("#search");
var textInput = $(search_bar);
var throttledInput =
Rx.Observable.fromEvent(textInput, 'keyup')
.pluck('target','value')
.filter( function (text) {
return text.length > 2;
})
.debounceTime(500)
.distinctUntilChanged();
var suggestions = throttledInput.switchMap(term => term ? this.search(term) : "no term");
suggestions.subscribe(
function (data)
{
console.log(data)
},
function (e)
{
console.log(e);
}
);
search(value)
{
return $.ajax({
type: "get",
url: "src/php/search.php",
data: {
name: value
}
}).promise();
}
Сначала он получает значение от одного из моих входов.
Тогда это превращает это в наблюдаемое из значения.
debounceTime используется для предотвращения переполнения сервера, если вы печатаете быстро
DifferentUntilChange используется, поэтому отправляются только новые результаты
Наконец, он может использовать jquery, но должен преобразовать его обратно в обещание.