如何使用jquery ajax从node.js文件检索数据
我是nodejs的新手,正在尝试弄清楚如何通过前端的ajax从工作节点脚本获取twilio数据 我在后端有这个如何使用jquery ajax从node.js文件检索数据,jquery,node.js,ajax,express,twilio,Jquery,Node.js,Ajax,Express,Twilio,我是nodejs的新手,正在尝试弄清楚如何通过前端的ajax从工作节点脚本获取twilio数据 我在后端有这个 'use strict'; const express = require('express'); const twilio = require('twilio'); const accountSid = '####'; const authToken = "####"; const client = require('twilio')(accountSid, authToken)
'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作为post请求?是否需要指定端口(3000?)。或者我需要在express中做些什么来提供将执行ajax请求的html文件吗
感谢您的帮助。谢谢 尝试这样做post请求
$.ajax({
url: "/list",
data:{'auth':'465dsfsd5f44654'},
type: "POST",
headers: {
'Content-Type': 'application/json'
},
success: function (data) {
}
});
我通过让node.js也提供我的静态html解决了这个问题:
app.use(express.static('public_html'))
我更改为获取请求:
$.ajax({
method: "GET",
url: "/list"
})
.done(function( data ) {
console.log(data)
playlist = data
len = playlist.recordings.length
$audio[0].addEventListener('ended',onAudioEnded);
playAudio()
});
及
app.get('/list',(请求,响应)=>{
使用此文件夹结构:
/
app.js
public_html/
index.html
并确保从以下位置访问我的网站:
http://[mysite].com:3000
路由未配置为接受任何参数。但是您的jQuery帖子正在传递参数?为什么会这样?我的错-不需要参数。修改了代码。不熟悉twilio api,但client.recordings.list()正在做什么?以及$.post()的响应是什么
您在控制台中看到了吗?只是在$.post
中找不到一个404-client.recording.list只是列出了我的twilio帐户中可用的所有录制。如果我仅在服务器上自己的文件中使用node.js命令来执行它,它会自动工作,但不确定如何从这个'app.post'调用它('/list')命令首先解决404问题。使用cURL或向该端点发出请求。还要检查web控制台和node.js控制台(如果启用了日志记录),以确定哪个请求击中了express服务器。