Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/36.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 java脚本中从Node.js获取数据时出错_Javascript_Node.js - Fatal编程技术网

Javascript java脚本中从Node.js获取数据时出错

Javascript java脚本中从Node.js获取数据时出错,javascript,node.js,Javascript,Node.js,我是Javascript和NodeJs的初学者,我创建了非常简单的NodeJs express服务器,从客户端获取一些消息并返回结果 (实际上,我是在GitHub上找到的 ) 但它不能正常工作 谢谢你帮我解决这个问题 /*Server side Code server.js*/ var express = require('express'); var app = express(); /*app.use(express.bodyParser());*/ app.listen(3000, f

我是Javascript和NodeJs的初学者,我创建了非常简单的NodeJs express服务器,从客户端获取一些消息并返回结果

(实际上,我是在GitHub上找到的
)

但它不能正常工作 谢谢你帮我解决这个问题

/*Server side Code server.js*/
var express = require('express');
var app = express();

/*app.use(express.bodyParser());*/

app.listen(3000, function () {
  console.log('Example app listening on port 3000!')
})

/*app.get('/endpoint', function(req, res){
var obj = {};
obj.title = 'title';
obj.data = 'data';

console.log('params: ' + JSON.stringify(req.params));
console.log('body: ' + JSON.stringify(req.body));
console.log('query: ' + JSON.stringify(req.query));

res.header('Content-type','application/json');
res.header('Charset','utf8');
res.send(req.query.callback + '('+ JSON.stringify(obj) + ');');
});*/

app.post('/endpoint', function(req, res){
console.log('Get request By Client');
var obj = {};
console.log('body: ' + JSON.stringify(req.body));
res.send(req.body);
});
在客户端,我使用此代码从服务器获取数据

    /*client side code: client.html*/
    <html>
    <head>
    <title>jsonp test</title>
    <script src="http://code.jquery.com/jquery-1.6.2.min.js"> 
   </script>        
    <script type="text/javascript">
        $(function(){               
            $('#select_link').click(function(e){
                e.preventDefault();
                console.log('select_link clicked');

                 /*$.ajax({
                    dataType: 'jsonp',
                    data: "data=yeah",                      
                    jsonp: 'callback',
                    url: 'http://localhost:3000/endpoint?callback=?',                       
                    success: function(data) {
                        console.log('success');
                        console.log(JSON.stringify(data));
                    }
                });*/
                var data = {};
                data.title = "title";
                data.message = "message";

                $.ajax({
                    type: 'POST',
                    data: JSON.stringify(data),
                    contentType: 'application/json',
                    url: 'http://192.168.1.175:3000/endpoint',                      
                    success: function(data) {
                        console.log('success');
                        console.log(JSON.stringify(data));
                    }
                });
                /*$.ajax('http://localhost:3000/endpoint', {
                        type: 'POST',
                        data: JSON.stringify(data),
                        contentType: 'application/json',
                        success: function() { console.log('success');},
                        error  : function() { console.log('error');}
                });*/
            });             
        });
    </script>
</head>
<body>
    <div id="select_div"><a href="#" id="select_link">Test</a></div>    
</body>
/*客户端代码:client.html*/
jsonp测试
$(函数(){
$(“#选择_链接”)。单击(函数(e){
e、 预防默认值();
log('select_link clicked');
/*$.ajax({
数据类型:“jsonp”,
数据:“数据=是”,
jsonp:“回调”,
网址:'http://localhost:3000/endpoint?callback=?',                       
成功:功能(数据){
console.log('success');
log(JSON.stringify(data));
}
});*/
变量数据={};
data.title=“title”;
data.message=“message”;
$.ajax({
键入:“POST”,
数据:JSON.stringify(数据),
contentType:'应用程序/json',
网址:'http://192.168.1.175:3000/endpoint',                      
成功:功能(数据){
console.log('success');
log(JSON.stringify(data));
}
});
/*$.ajax('http://localhost:3000/endpoint', {
键入:“POST”,
数据:JSON.stringify(数据),
contentType:'应用程序/json',
success:function(){console.log('success');},
错误:函数(){console.log('error');}
});*/
});             
});

我真的需要这段代码,因为我正在用AngularJS编写一个项目 监视星号事件。
如果你对这件事有什么意见,我将很高兴

可能出现多个问题:


  • 这可能是一个CORS问题:(为了避免CORS问题,我建议您使用名为“CORS”的npm包。它非常容易使用:

    const cors=require('cors')

    然后简单地添加:
    app.use(cors())
    在你的
    app.listen(3000,function(){})
    之前

  • 这可能是一个解析问题,因为您需要手动解析
    数据
    对象
  • 可能是您的url错误
console.log(“示例应用程序正在端口3000上侦听!”)
是否显示在您的控制台中


一个好主意是使用“postman”之类的工具测试api/后端

…但它不能正常工作
不是很有帮助。你能添加一些详细信息来解释发生了什么。你得到了什么错误??谢谢你的回答。我不知道这个工具。在和邮递员一样更正我的请求后,我从我的请求中得到了这个错误CORS策略已阻止从源“null”访问“”处的XMLHttpRequest:请求的资源上不存在“Access Control Allow origin”标头。为避免CORS问题,我建议您使用名为“CORS”的npm包。它非常易于使用。const CORS=require('CORS')然后是app.use(CORS())在你的app.listen(3000,函数(){})之前如果这对你有效,请接受我的答案