【发布时间】:2015-06-28 14:51:22
【问题描述】:
我在 JS 中有以下 Api:
router.route('/books')
.get(function(req,res){
Repository.getAll().done( function(result){ res.json(result);},function(err){res.send(err);});
})
.post(function(req,res){
Repository.save(req.body).done( function(object){ res.json(object); },function(err){res.send("error seems to have occured");});
});
当我使用 Fiddler 发布并使用 chrome 浏览器时效果很好。但是当我尝试使用 jquery 获取和发布时:
$.ajax({
type: "POST",
url: "http://localhost:8000/api/books",
data: { "title":"My name is","releaseYear":"1989","director":"me","genre":"horror" }
}).done(function(data) {
//alert("Success.");
console.log("success");
}).error(function(data, err, e, o) {
console.log("error");
//alert("Sorry. Server unavailable. ");
});
$.ajax({
type: "GET",
url: "http://localhost:8000/api/books",
contentType: "application/json"
}).done(function(data) {
//alert("Success.");
console.log("success");
}).error(function(data, err, e, o) {
console.log("error");
//alert("Sorry. Server unavailable. ");
});
失败/错误回调被触发。我已尝试指定 contentType 或将其删除,但无济于事。
调用POST时状态码为200但没有返回数据并调用fail函数
【问题讨论】:
-
您的请求正在调用“/api/books”,而您只收听“/books”
-
您是否调试过客户端和服务器端的结果以确保它有任何数据?
-
İlker Korkut:调试服务器将是一项任务,因为我以前从未调试过节点。纳达:事实并非如此。我打电话的网址是正确的
-
@user1809104 安装节点检查器以调试您的应用程序。这里是github.com/node-inspector/node-inspector
标签: jquery node.js express asp.net-web-api