gpt4 book ai didi

javascript - 创建用于 AJAX 的简单 Node.js Web 服务

转载 作者:行者123 更新时间:2023-11-30 13:00:07 24 4
gpt4 key购买 nike

我根据文档设置了一个基本的 Node.js http 服务器,我正在尝试创建一个非常简单的 Web 服务,我可以使用 Javascript (AJAX) 与之通信,然后我将连接到 Arduino。这是一个测试片,我可能会走别的路,但这被证明很有趣。无论如何,这是服务器端的 javascript:

var http = require('http');
var _return = 'Bing Bong';

http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'application/jsonp'});

//do stuff
res.end('_return(\'Hello :-)\' + _return)');
}).listen(process.env.VMC_APP_PORT || 1337, null);

这是客户端:

function experimentFive(node) {
console.log('X5 Func started');

console.log('Calling Node.js service');

var nodeURL = node;

$.ajax({
url: nodeURL,
dataType: "jsonp",
jsonpCallback: "_return",
cache: false,
timeout: 50000,
success: function(data) {
console.log('Data is: ' + data);
$("#nodeString").text(" ");
$("#nodeString").append(data);
},
error: function(jqXHR, textStatus, errorThrown) {
console.log('error : ' + textStatus + " " + errorThrown);
}
});
}

experimentFive('http://fingerpuk.eu01.aws.af.cm/');

这行得通,我取回了数据,但与我预期的不同。我希望能够做的是更改一些数据服务器端并将其接收回来。我在 res.end 中取回字符串加上:

function () {
responseContainer = arguments;
}

而不是变量的数据。无论我如何尝试取回该数据,它要么是未定义的,要么是这个响应。

根据研究,我认为变量在回调触发之前没有设置数据,所以它是空的。但是如果我设置一个初始值,数据仍然是未定义的。

我是不是漏掉了一些非常简单的东西?我应该回到 C# 吗?

干杯。

最佳答案

完成此操作的一种可能方法是使用 ExpressJSNodeJS处理路由端点。通过这样做,您可以设置诸如 GET/media/movies/ 之类的路由,向该路由发出 AJAX 请求,然后让它返回您可以在您的应用中处理的 JSON 数据。

这是我制作的应用程序中的 ExpressJS 路由示例:

var groups = require('../app/controllers/groups');

// find a group by email
app.post('/groups/find', groups.searchGroupsByEmail);

这是我在开始使用 Express 时使用的一个很棒的教程。它介绍了从安装 Node.JS(您已经完成)到设置 ExpressJS 路由以处理传入的 HTTP 请求的整个过程。

Creating a REST API using Node.js, Express, and MongoDB

关于javascript - 创建用于 AJAX 的简单 Node.js Web 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17532924/

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