我有一個AngularFullStack項目,我嘗試使用下面的代碼打我的項目的服務器端點,但問題是呼叫是不是從角度客戶端到nodejs服務器。因爲這是我的第一個項目,所以我很少不知道可能會導致這個奇怪衝突的問題。客戶端無法擊中其自己的服務器端點
客戶方:
$http({
method: 'POST',
url: '/api/soapAPIs/soapAPI',
data: request,
headers: {
'Content-Type': 'application/json'
}
})
.then(function(response) {
console.log("response from server is: ", response);
})
.catch(function(error) {
console.log("error in calling server is: ", error);
});
我已經安裝在服務器端CORS並寫在app.js下面的代碼,但仍然不起作用。
服務器App.js
// Setup server
var app = express();
var cors = require('cors');
//add cors to do the cross site requests
app.use(cors());
服務器端點代碼:
export function soapAPI(req, res) {
console.log("SERVER SIDE ", req.body);
res.status(statusCode).json({"status":"success"});
res.send();
}
以下是問題:
如果我嘗試打端點的NodeJS像這
/api/soapAPIs/soapAPI
,瀏覽器顯示pending
請求,它永遠不會去服務器。當我爲端點添加完整分類網址(如
http:localhost:9000/api/soapAPIs/soapAPI
)時,它會擊中端點,但客戶端永遠不會收到來自服務器的響應。我不想在客戶端提供完整的分類網址,原因很明顯。
如何解決此問題?如果您需要其他代碼/信息,請告訴我。
編輯:
用完全分類路徑,服務器端點被擊中,但它的響應永遠不會被客戶端接收。我得到了瀏覽器這個錯誤:
Possibly unhandled rejection: {"data":null,"status":-1,"config":{"method":"GET","transformRequest":[null],"transformResponse":[null],"jsonpCallbackParam":"callback","url":"/api/things","headers":{"Accept":"application/json, text/plain, */*"}},"statusText":""}
請分享server.js的完整代碼(GIST,github上,..) –
@BadisMerabet你去那裏:https://gist.github.com/wingoku/38a77a2086441a8a752e77373694a938 –