我对我的mLab数据库的AJAX POST请求有一些问题。基本上,我有一个' chartJS'我的页面上的图表,它响应我添加到我的数据库的数据。如果我运行我的PUT函数来更新单个文档,一切正常,我的图表会立即更新。然而,当我在POST函数中运行几乎完全相同的代码时(将类型更改为" POST"而不是" PUT")POST似乎永远不会完成,直到我刷新页面,我的图表准确,完整地反映了POST数据的时间。
我对所有这些编程工作都很陌生,但在我看来数据已经发布,但是POST响应陷入了困境,直到我通过刷新手动中止它 - 也许?
如果需要,我的代码位于https://github.com/TheScogg/lifelogs。非常感谢任何帮助!
function post() {
jQuery.get("/db/", function(data, textStatus, jqXHR) {
console.log("Get response:");
// console.dir(data);
// console.log(textStatus);
// console.dir(jqXHR);
}).done(function (data) {
console.log("==========================================")
console.log(sendInfo.activities);
jQuery.ajax({
url: "/db/",
type: "POST",
data: {
date: sendInfo.date,
activities: JSON.stringify(sendInfo.activities),
survey: JSON.stringify(sendInfo.survey)
},
success: function (data, textStatus, jqXHR) {
getData();
}
});
}).done(function (data) {
console.log("put date loaded");
});
}
function put(idMatch) {
console.log("Duplicate Date at id: " + idMatch);
jQuery.get("/db/" + idMatch, function(data, textStatus, jqXHR) {
console.log("Get response:");
// console.dir(data);
// console.log(textStatus);
// console.dir(jqXHR);
}).done(function (data) {
console.log("==========================================")
console.log(sendInfo.activities);
jQuery.ajax({
url: "/db/" + idMatch,
type: "PUT",
data: {
date: sendInfo.date,
activities: JSON.stringify(sendInfo.activities),
survey: JSON.stringify(sendInfo.survey)
},
success: function (data, textStatus, jqXHR) {
getData();
}
});
}).done(function (data) {
console.log("put date loaded");
});
}
// Reload chart after POSTING/PUTTING NEW RECORD
}

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
&#13;
答案 0 :(得分:0)
charlietfl ,非常感谢你帮助我解决这个问题。我发现了我的错误 - 当我说这是一个noob错误时相信我。
我在各种文件中都有各种代码,这些代码将请求发送到同一个地方。例如,我在名为app.js的文件底部播放代码。但是,我也有代码试图在名为'./routes/index'的文件中发布到同一个地方。好吧,猜猜我在app.js文件的顶部意识到了什么?
var routes = require('。/ routes / index'); app.use('/',routes);
所以,它提出了一个POST请求,我忘记了我甚至在它之前创建了我认为我发送的POST请求之前已经创建过。
此外,我有各种备份文件,回想起来,它们可能一直在尝试使用类似的代码。
长话短说,我需要回过头来学习并真正尝试了解Express项目中所有事情之间的关系,并真正尝试了解所有内容的位置和原因。
再次感谢!