2017-10-07 121 views
0

我正在使用node.js和JQuery進行通信。每當我向我的node.js express服務器發送一個post請求時,它都會收到請求,但似乎沒有給出響應。Ajax到node.js express模塊​​沒有給出響應

客戶端代碼:

 $("#submitdetails").click(function(){ 
    $.post("http://neztorian.xyz:26/", 
    { 
     name: "Donald Duck", 
     city: "Duckburg" 
    }, 
    function(data, status){ 
     alert("Data: " + data + "\nStatus: " + status); 
    }); 

}); 

Sever的代碼:

var express = require('express'); 
var app = express(); 
var bodyParser = require('body-parser'); 

app.use(bodyParser.json()); 
app.use(bodyParser.urlencoded({ extended: true })); 
console.log("Running"); 
app.post('/', function (req, res) { 
console.log(req.body); 

res.send("recieved"); 

}) 
app.listen(26); 

服務器接收發布請求,並將其記錄到控制檯,但警告消息未出現在客戶端上。感謝您的幫助。對不起,如果這是一個愚蠢的問題。

編輯:謝謝你的回答。問題是:Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://neztorian.xyz:26' is therefore not allowed access.我已經解決了問題,將該標題添加到服務器。

+0

什麼是'#submitdetails'?它是否是表單的一部分,頁面是否令人耳目一新?如果需要阻止點擊或提交處理程序中的默認操作。也可以在ajax上使用錯誤處理程序來獲取更多細節 – charlietfl

+0

在瀏覽器中檢查控制檯,您可能會看到類似於「No」的Access-Control-Allow-Origin標頭。 Origin'http://neztorian.xyz:26'因此是不允許訪問的。' – rckrd

+0

然後閱讀:[爲什麼 - 我的javascript - get-a-no-access-control-allow-origin-header-is-目前](https://stackoverflow.com/questions/20035101/why-does-my-javascript-get-a-no-access-control-allow-origin-header-is-present),[無訪問控制-ALLOW-原點集管是存在的 - 上的請求的資源-WHE(https://stackoverflow.com/questions/43871637/no-access-control-allow-origin-header-is-present-上的請求資源,磨片) – rckrd

回答

0

由於服務器未發送Access-Control-Allow-Origin標頭,因此瀏覽器不允許請求。

設置標題和請求是允許的。

app.post('/', function (req, res) { 
    console.log(req.body); 
    res.header('Access-Control-Allow-Origin', 'http://neztorian.xyz:26'); 
    res.send("recieved"); 
}); 

在這裏閱讀更多:CORS