我在使用Adobe Brackets運行Node.js服務器時遇到問題。一旦進行實時預覽(URL爲http://localhost:SOMERANDOMPORT/path/to/file.html
),我啓動服務器。如果我將http://localhost:3000/test
直接鍵入另一個選項卡,它將顯示正確的JSON。Adobe Brackets實時預覽無法訪問Node.js服務器
然後,我向file.html
中的元素添加了一個事件函數,它在點擊它時向我的服務器發出一個AJAX請求,並使用響應來更改它的一些內部HTML。但是,在實時預覽中單擊該元素失敗,並且會調用錯誤回調。
我該如何解決這個問題?我懷疑它與AJAX請求發送到http://localhost:SOMERANDOMPORT/test
而不是http://localhost:3000/test
的事實有關,但我似乎無法找到解決方案。
一切都在本地運行。下面是我的服務器:
var express = require('express');
var mysql = require('mysql');
var app = express();
app.get('/test', function(req, res){
var connection = mysql.createConnection(...);
connection.query("SELECT author FROM posts", function(err, results) {
if (err) {
console.log(err);
console.log('Error on retrieving data.');
res.send(err);
return;
}
console.log(results[results.length - 1]);
res.send(results[results.length - 1]); // return last row
});
connection.end();
});
app.listen(3000);
console.log('Listening on port ' + port);
且事件功能:
function getAuthor() {
$.ajax({
type: 'GET',
url: '/test',,
success: function(data, status) {
$('.author').text('Authored by ' + data.author);
},
error: function(jqXHR, status, error) { // this always get called
$('.author').text('Something went wrong.');
}
});
}
我感謝所有幫助。