Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/372.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Nodejs-使用ajax向服务器发送数据_Javascript_Ajax_Node.js - Fatal编程技术网

Javascript Nodejs-使用ajax向服务器发送数据

Javascript Nodejs-使用ajax向服务器发送数据,javascript,ajax,node.js,Javascript,Ajax,Node.js,我尝试将值发送到服务器,但如果我尝试,我的控制台会显示错误: Cannot POST / 我尝试查看其他示例,并尝试使用以下代码: Myindex.html: function sendData() { var latestResponse = Api.getResponsePayload(); var context = latestResponse.context; var mail = context.email; // I can see the data of these

我尝试将值发送到服务器,但如果我尝试,我的控制台会显示错误:

Cannot POST /
我尝试查看其他示例,并尝试使用以下代码:

My
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));
   })
}
My
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|u port | 3000

在ajax请求中,您需要发布到url
http://localhost: +您的端口

而且,每次收到请求时,请求都会将新的事件处理程序附加到
数据
事件,因此在附加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)
    });
} 

在这种情况下,我尝试使用localhost:3000/server,但不起作用。我的端口是从本地主机中删除服务器部件。您不调用
js
文件,而是调用路径
/
,我将使用新代码进行编辑。同样的错误:
无法发布/
我想将此值发送到服务器,因为我将使用此值,这是最佳做法吗?@SayuriMizuguchi看到你的app.js,问题就在那里。