由於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的,但必須將其轉換回承諾。
我面臨着同樣的問題到底是什麼...... – Tomasz
在我的情況是,我試圖用'GET'方法發送身體,這是行不通的。 – Tomasz
@Tomasz我剛剛與jQuery的ajax:\ –