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, но должен преобразовать его обратно в обещание.

Другие вопросы по тегам