私のアプリにngInfiniteScroll - Loading Remote Dataを実装しようとしています。AngularJSを持つNodeJSサーバーからJSONPを返します
デモが正常に動作します& Reddit APIを正常に取得できましたが、私のリストが機能しなくなりました。
200
サーバーの応答&は私のデータをdevツールで見ることができます。これらの回答はいくつかの助けとなりました1 & 2私はまだ何をすべきかについて完全にはわかりません。
EDIT(角工場の編集を参照してください):
:このコールバックは、現在取り組んで$http
さは、しかし、私は今Cannot read property 'length' of undefined
アンギュラ工場を取得しています成功に起こっています
Reddit.prototype.nextPage = function() {
if (this.busy) return;
this.busy = true;
// Edit - I changed this var from
// var url = config_api.API_ENDPOINT_LOCAL + "list?after=" + this.after + "?alt=json-in-script&jsonp=JSON_CALLBACK";
// to
var url = config_api.API_ENDPOINT_LOCAL + "list?after=" + this.after + "?alt=json-in-script&callback=JSON_CALLBACK";
$http.jsonp(url)
.success(function(data) {
console.log(data);
var items = data.children;
for (var i = 0; i < items.length; i++) {
this.items.push(items[i].data);
}
this.after = "t3_" + this.items[this.items.length - 1].id;
this.busy = false;
}.bind(this));
console.log('Reddit.prototype');
};
NodeJSルート:
app.get('/list', function (req, res) {
Found.find(function (err, post) {
if (err) {
res.send(err);
}
res.jsonp(post);
});
});
項目は定義されていなければなりません。どこでも '.length'は表示されません。 console.logがあるところで 'debugger'行を削除して、実行中に変数の値を調べることができます。ああ、私はそれを見ていると思う...答えを投稿する...いいえ答えについて取り戻すことはできませんが、そうでなければそのエラーはないでしょう。 – shaunhusain
@shaunhusainだから、私のデータは返されたすべての値をサーバから 'data = [Object、Object]'として戻ってくる。 – Mark
インタラクティブなデバッガを試してみよう(F12 - > Sourcesパネル、またはF12を開いて 'デバッガ; 'のステートメント)、あなたはウォッチャーを追加するか、そこにあるローカル変数をチェックアウトして、どのデータが何で、どのデータがあるかを確認し、項目が配列であることを確認することができます。デバッグツールの矢印を矢印の上に移動します。 – shaunhusain