【发布时间】:2016-09-15 16:34:25
【问题描述】:
这些是我的代码块。 API端点
app.get('/clients/zvb/:id', function(req, res) {
console.log('ZVB Query loaded as var = file;')
var path = './public/queries/zvb.sql'
var zvb = fs.readFileSync(path, "utf8")
zvb = zvb.splice(25, 0, req.params.id)
request.query(zvb, function(err, recordset) {
console.log(recordset);
res.end(JSON.stringify(recordset));
});
})
然后是我的 index.html,我尝试从端点获取数据。
$.ajax({
type: 'GET',
url: 'http://localhost:8081/clients/zvb/16601',
dataType: 'jsonp',
success: function(data) {
console.log(data);
console.log('we got to here..')
}
});
目前没有太多事情发生。当我尝试在终端中手动运行 ajax 调用时,我得到了;
Object {readyState: 1}
端点正在工作,如果我查看它,我可以看到我正在寻找的 JSON。
汤姆
【问题讨论】:
-
如果你想发送数据,你应该从文档中res.send() 或res.json(),而不是res.end()。在您的 Ajax 调用中,您不应该期待“json”而不是“jsonp”吗?
-
dataType: 'jsonp',为什么?你知道jsonp是什么吗? -
readFileSync永远不要在服务器上使用此方法,而不是接收 http 请求。请改用异步版本。
标签: javascript jquery ajax node.js api