我正在使用rx.DOM.ajax
https://github.com/Reactive-Extensions/RxJS-DOM/blob/master/doc/operators/ajax.md
我正在尝试使用POST从网址获取一些数据,但它不返回任何内容。
以下是代码:
Rx.DOM.ajax({
url: 'src/php/search.php',
method: "POST",
body: {
extra: "Extra"
}
});
如果我print_r($_POST)
,其中没有任何内容。我期待服务器收到$_POST
。
答案 0 :(得分:0)
由于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用于防止服务器泛滥
使用distinctUntilChange,因此只发送新结果
最后,它可以利用jquery,但必须将其转换回承诺。