gpt4 book ai didi

javascript - Sails.js - Controller 问题

转载 作者:行者123 更新时间:2023-12-03 04:29:32 27 4
gpt4 key购买 nike

我正在开发一个 Controller ,使用以下代码 (SoundCloudController.js) 从 SoundCloud 的 API 解析 JSON,以便检索一些数据。当我提起应用程序并转到我创建的 View 时; “result.ejs”,它崩溃了。

module.exports = {

// Search for something
// SoundCloud API reference:
// https://developers.soundcloud.com/docs/api/reference#tracks
result: function (req, res, next) {
SoundCloud.find(function foundSounds(err, sounds) {
if (err) return next(err);

var http = require('http');

function process_response(webservice_response, sound, callback) {
var webservice_data = "";
webservice_response.on('error', function (e) {
console.log(e.message);
callback("Error: " + e.message);
});
webservice_response.on('data', function (chunk) {
webservice_data += chunk;
});

// Response from query
webservice_response.on('end', function () {
// Parse everything from the response (JSON)
sound_data = JSON.parse(webservice_data);
// Find the title of the first match
sound.title = sound_data.title;
// The duration provided by SoundCloud is in milliseconds
// convert to MM:SS format for readability
sound.duration = millis_to_min_sec(sound_data.duration);
// Logo for SoundCloud
sound.logo = 'http://icons.iconarchive.com/icons/sicons/basic-round-social/512/soundcloud-icon.png';
console.log(sound.title + ' ' + sound.duration);
callback();
});
};

// Define host, path etc. for the search (JSON returned)
function get_sound_data(sound, callback) {
//http://api.soundcloud.com/tracks.json?client_id=CLIENT_ID_HERE&q=smile%20like%20you%20mean%20it
console.log(sound.title);
console.log(sound.duration);
options = {
host: 'http://api.soundcloud.com',
port: 80,
path: '/tracks.json?client_id=O3UkayfZTJjNeahVhqTiHcZ5iowrMRpk&q=smile like you mean it&limit=2', // client_id is given above, q='something to search for', limit to 2 results
method: 'GET'
};

var webservice_request = http.request(options, function (response) {
process_response(response, sound, callback)
});
webservice_request.end();

};

// Convert milliseconds to MM:SS format (minutes:seconds)
function millis_to_min_sec(millis) {
var minutes = Math.floor(millis / 60000);
var seconds = ((millis % 60000) / 1000).toFixed(0);
return minutes + ':' + (seconds < 10 ? '0' : '') + seconds;
};

async.each(sound.sounds, get_sound_data, function(err) {
if(err) console.log(err);
console.log('done');

res.view({
sound: sound
});
});
});
},

};

访问 localhost:1337/music/result 时出现的错误消息:

error: Sending 500 ("Server Error") response: Error (E_UNKNOWN) :: Encountered an unexpected error : ER_BAD_FIELD_ERROR: Unknown column 'NaN' in 'where clause' at Query.Sequence._packetToError (C:\Users\InWhi\Desktop\ISQA4380\Group-6-Project\node_modules\sails-mysql\node_modules\mysql\lib\protocol\sequences\Sequence.js:48:14) at Query.ErrorPacket (C:\Users\InWhi\Desktop\ISQA4380\Group-6-Project\node_modules\sails-mysql\node_modules\mysql\lib\protocol\sequences\Query.js:83:18) at Protocol._parsePacket (C:\Users\InWhi\Desktop\ISQA4380\Group-6-Project\node_modules\sails-mysql\node_modules\mysql\lib\protocol\Protocol.js:280:23) at Parser.write (C:\Users\InWhi\Desktop\ISQA4380\Group-6-Project\node_modules\sails-mysql\node_modules\mysql\lib\protocol\Parser.js:73:12) at Protocol.write (C:\Users\InWhi\Desktop\ISQA4380\Group-6-Project\node_modules\sails-mysql\node_modules\mysql\lib\protocol\Protocol.js:39:16) at Socket. (C:\Users\InWhi\Desktop\ISQA4380\Group-6-Project\node_modules\sails-mysql\node_modules\mysql\lib\Connection.js:96:28) at emitOne (events.js:96:13) at Socket.emit (events.js:188:7) at readableAddChunk (_stream_readable.js:176:18) at Socket.Readable.push (_stream_readable.js:134:10) at TCP.onread (net.js:548:20) -------------------- at Protocol._enqueue (C:\Users\InWhi\Desktop\ISQA4380\Group-6-Project\node_modules\sails-mysql\node_modules\mysql\lib\protocol\Protocol.js:141:48) at PoolConnection.query (C:\Users\InWhi\Desktop\ISQA4380\Group-6-Project\node_modules\sails-mysql\node_modules\mysql\lib\Connection.js:201:25) at FIND (C:\Users\InWhi\Desktop\ISQA4380\Group-6-Project\node_modules\sails-mysql\lib\adapter.js:838:20) at afterwards (C:\Users\InWhi\Desktop\ISQA4380\Group-6-Project\node_modules\sails-mysql\lib\connections\spawn.js:84:5) at C:\Users\InWhi\Desktop\ISQA4380\Group-6-Project\node_modules\sails-mysql\lib\connections\spawn.js:40:7 at Ping.onOperationComplete [as _callback] (C:\Users\InWhi\Desktop\ISQA4380\Group-6-Project\node_modules\sails-mysql\node_modules\mysql\lib\Pool.js:99:5) at Ping.Sequence.end (C:\Users\InWhi\Desktop\ISQA4380\Group-6-Project\node_modules\sails-mysql\node_modules\mysql\lib\protocol\sequences\Sequence.js:96:24) at Ping.Sequence.OkPacket (C:\Users\InWhi\Desktop\ISQA4380\Group-6-Project\node_modules\sails-mysql\node_modules\mysql\lib\protocol\sequences\Sequence.js:105:8) at Protocol._parsePacket (C:\Users\InWhi\Desktop\ISQA4380\Group-6-Project\node_modules\sails-mysql\node_modules\mysql\lib\protocol\Protocol.js:280:23) at Parser.write (C:\Users\InWhi\Desktop\ISQA4380\Group-6-Project\node_modules\sails-mysql\node_modules\mysql\lib\protocol\Parser.js:73:12) at Protocol.write (C:\Users\InWhi\Desktop\ISQA4380\Group-6-Project\node_modules\sails-mysql\node_modules\mysql\lib\protocol\Protocol.js:39:16) at Socket. (C:\Users\InWhi\Desktop\ISQA4380\Group-6-Project\node_modules\sails-mysql\node_modules\mysql\lib\Connection.js:96:28) at emitOne (events.js:96:13) at Socket.emit (events.js:188:7) at readableAddChunk (_stream_readable.js:176:18) at Socket.Readable.push (_stream_readable.js:134:10) at TCP.onread (net.js:548:20) Details: Error: ER_BAD_FIELD_ERROR: Unknown column 'NaN' in 'where clause'

非常感谢任何改进建议和/或解决我的问题的解决方案!

最佳答案

当您访问 localhost:1337/music/result 时,您似乎无意中触及了名为 music 的模型的蓝图路线。它以result作为ID,URL格式为/:model/:id。确保您的路由配置设置为覆盖该格式并指向 SoundCloudController.result

关于javascript - Sails.js - Controller 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43548276/

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