私が実行しようとしている簡単な例で、jQuery に関する初心者の問題がいくつかあります。Firefox ツールは を提供しSyntax Error: JSON.parse: unexpected end of data
ますが、デバッグする方法が本当に見つかりません。
以下のデータを mongodb に入力しましたが、検証済みのように見えます。
var employees = [
{"id": 1, "firstName": "James", "lastName": "King", "managerId": 0},
{"id": 2, "firstName": "Julie", "lastName": "Taylor", "managerId": 1},
{"id": 3, "firstName": "Eugene", "lastName": "Lee", "managerId": 1},
{"id": 4, "firstName": "John", "lastName": "Williams", "managerId": 1}
];
そして私はそれを返そうとしています
exports.findAll = function(req, res) {
var name = req.query["name"];
db.collection("employees", function(err, collection) {
if (name) {
collection.find({"fullName": new RegExp(name, "i")}).toArray(function(err, items) {
console.log(items);
res.jsonp(items);
});
} else {
collection.find().toArray(function(err, items) {
console.log(items);
res.jsonp(items);
});
}
});
};
そしてブラウザでそれを読んでください
$.get("http://localhost:8888/employees",function(jsonp){
//document.write("json");
});
EDIT:ブラウザでURLを使用すると有効なデータが返されますが、同じアクションに対してconsole.logは無効なデータを返します。そのようなものがあれば、これが二重解析の問題を疑う理由です。
browser-> { "id": 4, "firstName": "John", "lastName": "Williams", "managerId": 1, "_id": 5276247a3f2e4cf040000004 }
console-> { id: 4, firstName: 'John', lastName: 'Williams', managerId: 1, _id: 5276247a3f2e4cf040000004 }