Tag: 获取

Node.js HTTP请求没有返回完整的响应

我正在使用Node的http模块发出HTTP请求,但在data ,返回的块似乎并不满足完整的请求响应。 这是我的代码: var req = http.request(httpOptions, function(res) { res.setEncoding('utf8'); }); req.on('response', function (response) { response.on('data', function (chunk) { console.log(chunk); callback(null, JSON.parse(chunk)); }); }); req.on('error', function(e) { callback(e); //callback(e.message); }); req.end(); 在结束请求之前是否有办法等待完整输出? 难道我做错了什么? 谢谢!

Node.js Express路由命名和sorting:如何确定优先级?

假设我的Express应用程序有几条GET路线: // music albums app.get('/api/albums', routes.albums.getAlbums); app.get('/api/albums/:id', routes.albums.getAlbum); app.get('/api/albums/artwork', routes.albums.getAlbumArtwork); 我尝试使用下面的jQuery AJAX代码片段来触发它们: $("#retrieveAlbumArtwork").on("click", function() { $.ajax({ url: "api/albums/artwork", type: "GET", data: { artist: $("#albumArtist").val(), title: $("#albumTitle").val() }, // … callbacks and such 出于某种原因,这个调用命中第二个处理程序,使用/:id参数,而不是显式/artwork路线。 像这样交换它们使其function如预期的那样: // music albums app.get('/api/albums', routes.albums.getAlbums); app.get('/api/albums/artwork', routes.albums.getAlbumArtwork); app.get('/api/albums/:id', routes.albums.getAlbum); 有人可以解释为什么会发生这种情况吗? 我会假设快车会很聪明,以确定一个身份证参数( /albums/23453243 )与查询string( /albums/artwork?artist=artistName&title=albumTitle )和适当的路线,但这似乎并不是这样的情况?