[英]Nodejs - Send data with ajax to server
我嘗試將值發送到我的服務器,但是如果我嘗試,我的控制台會顯示錯誤:
Cannot POST /
我嘗試查看其他示例,並嘗試使用以下代碼:
我的index.html
:
function sendData() {
var latestResponse = Api.getResponsePayload();
var context = latestResponse.context;
var mail = context.email; // I can see the data of these variables perfectly on the console
$.ajax({
type: "POST",
url: "http://localhost:3000/",
crossDomain:true,
dataType: "json",
data:JSON.stringify({email: mail})
}).done(function ( data ) {
alert("ajax callback response:"+JSON.stringify(data));
})
}
我的server.js
:
'use strict';
var server = require('./app');
var port = process.env.PORT || process.env.VCAP_APP_PORT || 3000;
server.on('request', request);
server.listen(port, function() {
console.log('Server on port: %d', port);
});
function request(request, response) {
var store = '';
request.on('data', function(data)
{
store += data;
});
request.on('end', function()
{ console.log(store);
response.setHeader("Content-Type", "text/json");
response.setHeader("Access-Control-Allow-Origin", "*");
response.end(store)
});
}
我的存儲庫:
FolderRepository
public
- js folder
- img folder
- css folder
- index.ejs
server.js
app.js
因為您的服務器正在另一個端口上運行。 這是你的港口
var port = process.env.PORT || process.env.VCAP_APP_PORT || 3000;
並且在 ajax 請求中,您需要發布到 url http://localhost: + your port
而且每次當您收到請求時,您的請求都會為data
事件附加一個新的事件處理程序,因此在 10 個附加事件后,您將收到有關內存泄漏的警告消息。
此代碼有效。 主要區別在於我調用http.createServer()
而您從app.js
獲取它。 查看app.js
並查看服務器是否正確創建。
嘗試查看您的服務器是否正確創建。
var http = require('http');
var port = 3000;
var proxy = http.createServer();
proxy.listen(port);
proxy.on('request', request);
function request(request, response) {
var store = '';
request.on('data', function (data) {
store += data;
});
request.on('end', function () {
console.log(store);
response.setHeader("Content-Type", "text/json");
response.setHeader("Access-Control-Allow-Origin", "*");
response.end(store)
});
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.