【发布时间】:2017-05-05 22:38:37
【问题描述】:
我是 nodejs 的新手,并试图弄清楚如何通过前端的 ajax 从工作节点脚本中获取 twilio 数据。
我在后台有这个
'use strict';
const express = require('express');
const twilio = require('twilio');
const accountSid = '####';
const authToken = "####";
const client = require('twilio')(accountSid, authToken);
const baseURL = 'https://api.twilio.com'
const recordingExtension = '.mp3' //mp3 or wav
let app = express();
app.post('/list', (request, response) => {
const recordings =[]
client.recordings.list(function(err, data) {
data.recordings.forEach(function(recording) {
var recordingURIComponent = recording.uri.replace('.json','')
var recordingURL = baseURL + recordingURIComponent + recordingExtension
recordings.push(recordingURL)
});
const recordingData = {
recordings: recordings
}
response.send(recordingData)
});
});
app.listen(3000, '127.0.0.1',function(){
console.log('listening');
});
现在我想从前端的 ajax 访问该响应。
我知道它可能看起来像:
$.post( '/list', function(data) {
console.log(data)
});
但我不确定将我的 post/get/ajax 指向哪里。如果两个文件都在同一台服务器上,我应该使用哪个 URL 作为发布请求?我需要指定端口(3000?)。还是我需要做一些事情来提供将执行 ajax 请求的 html 文件?
感谢任何帮助。谢谢!
【问题讨论】:
-
路由未配置为接受任何参数。但是您的 jQuery 帖子正在传递参数?为什么会这样?
-
我的错 - 不需要参数。修改后的代码。
-
不熟悉 twilio api 但
client.recordings.list()在做什么?您在控制台中看到的$.post()的响应是什么? -
只是为
$.post找到 404 - client.recording.list 只是列出了我的 twilio 帐户中可用的所有录音。如果我仅使用服务器上自己文件中的 node.js 命令执行它,它就可以自行工作,但不知道如何从这个 `app.post('/list') 命令调用它 -
先解决404问题。使用 cURL 或 other means 向该端点发出请求。还要检查 Web 控制台和 node.js 控制台(如果启用了日志记录),以确定哪些请求到达了 express 服务器。
标签: jquery node.js ajax express twilio