我有一臺運行單個網頁的節點服務器。該頁面有一個聯繫表單和一個發送按鈕。發送ajax獲取節點請求,響應未定義
如果我點擊發送,下面的代碼將運行:
$('.contactsend').click(function(){
$.ajax({
method: "GET",
url: "http://127.0.0.1:3000/contact",
dataType: "jsonp"
}) .done(function(data) {
alert(data);
})
.fail(function() {
alert("error");
})
.always(function() {
alert("complete");
});
})
這遠遠看起來OK,達到頁面。
這是中間件做什麼:
router.get('/', function(req, res, next) {
res.send({test:'test'})
//res.send('test')
});
發送此之後,該網頁將顯示以下信息:
Uncaught SyntaxError: Unexpected token :
如果我不派json
,但是字符串代替,該消息像
Uncaught ReferenceError: test is not defined
有什麼造成的問題沒有標準的迴應。你可以使用'res.json'而不是'res.send'。 –
我將'res.send'更改爲'res.jsonp',這有效。如果我使用'dataType:「json」''我受到'access origin' -peep- – Randy
的困擾,您可以在不更改響應類型的情況下發送響應,但您必須替換特殊字符,但這不是真實的方法。 –