gpt4 book ai didi

javascript - 使用 jQuery 从 NodeJS 服务器请求数据

转载 作者:行者123 更新时间:2023-12-03 11:11:05 25 4
gpt4 key购买 nike

我有以下客户端代码(在浏览器或atom-shell/node-webkit Web API中运行):

$(document).ready(function(){

$.ajax({
url: 'http://127.0.0.1:1337/users',
type: 'GET',
dataType: 'json',
success: function(res)
{
console.log(res);
}
});

});

非常简单的东西,它从服务器请求 JSON 格式的用户列表。

现在在服务器端(Node API)我有以下代码:

var http = require('http');
var mysql = require('mysql');

var connection = mysql.createConnection({
host : '127.0.0.1',
user : 'admin',
password : 'qwe123'
});

// Create the server
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('This is just a placeholder for the index of the server.');
}).listen(1337, '127.0.0.1');

// Build a response
http.get('http://127.0.0.1:1337/users', function(res) {
var json = { 'status' : res.statusCode, 'response' : res };
JSON.parse(json);
}).on('error', function(e) {
var json = { 'status' : e.statusCode, 'message' : e.message };
JSON.parse(json);
});

我对如何创建服务器然后有效地创建可以通过客户端代码与之通信的端点(例如/users)感到困惑。

1.) 我是否认为 http.get 只能从已建立的端点获取数据?那 createSever 实际创建了端点吗?或者在创建服务器后是否有另一种创建这些端点的速记方法? 所以基本上这个例子中不需要 get 请求,因为我想在客户端请求它。

2.) 无论如何,我需要创建此端点 /users 并返回以下内容:

connection.connect();
connection.query('SELECT * FROM users', function(err, results) {
JSON.parse(results);
});
connection.end();

有人能帮我指出正确的方向吗?似乎我错过了文档中您可以在服务器上创建不同端点的部分。

最佳答案

恐怕您正在混合使用expressjs和node http模块。如果您只使用 Node “http”,请引用:Nodejs to provide 1 api endpoint e one html page关于如何实现URL的路由。

总而言之,我建议您查看一下expressjs库:http://expressjs.com/starter/basic-routing.html 。它极大地简化了路由管理并提供了更多功能。

希望这对您有帮助。

关于javascript - 使用 jQuery 从 NodeJS 服务器请求数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27589127/

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