gpt4 book ai didi

javascript - 如何使用 javascript/jQuery 在客户端从 MongoDB 获取数据

转载 作者:行者123 更新时间:2023-11-30 17:30:40 26 4
gpt4 key购买 nike

我用 python 在 bottle 中编写了一段代码,它从 mongodb 获取数据,当用户从 bottle 请求 url http://localhost:8080/index/test 时,它将返回 json 结果来自 mongoDB。当我将浏览器指向该 url 时它工作正常,我可以在浏览器上看到所有结果。

但是,当我尝试从 jQuery ajax 发送请求时,我总是会收到错误消息,并且请求永远不会成功。

有没有人做过类似的事情可以与我分享他们的方法?

我的一般问题是,当使用 bottle 作为服务器时,从客户端从 MongoDB 获取数据的最佳方法是什么。我在 Node.js 中看到了一些示例,但我想使用 python 作为服务器。

我用过这个代码。

                   $.ajax({
type: "POST",
url: "http://localhost:8080/hello/test",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (response) {

console.log("success");
},
error: function (response){

console.log("failed");
}
});*/

我也试过这个:

                $.post( "http://localhost:8080/hello/test", d)
.done(function( response ) {
console.log("success");
});

这些都没有运气。我也尝试过 GET 而不是 post,但没有成功。

这就是我在 python 方面所拥有的:

从 Bottle 导入路由、运行、模板

@route('/hello/<name>')
def index(name):
return {'status':'online', 'something':'blah blah'}

run(host='localhost', port=8080)

非常感谢。

最佳答案

首先,“GET”是更好的选择,因为您没有将任何参数传递给您的数据库。

其次,您的应用程序在哪个端口上运行?您正在将 8080 添加到您的请求中,这让我假设您的应用程序在不同的端口下运行。 JS是基于Same Origin Policy这意味着如果您想从不同的 URL(不同的端口 = 不同的 url)访问数据,它不会给您任何响应数据。

要使这项工作正常进行,要么确保 python 脚本将信息直接传递给您的应用程序,要么您必须实现 Cross Origin Ressource Sharing .为此,您必须使用以下内容向 python(端口 8080)脚本的响应添加 header

Access-Control-Allow-Origin: localhost:XXXX //replace XXXX with your application port

编辑:如果您需要知道如何激活 COR,请查看 stackoverflow 上的此线程: PY Bottle enable COR

关于javascript - 如何使用 javascript/jQuery 在客户端从 MongoDB 获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23128640/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com