如何将 jsonp 与 node.js express 一起使用

     2023-03-03     297

关键词:

【中文标题】如何将 jsonp 与 node.js express 一起使用【英文标题】:How to use jsonp with node.js express 【发布时间】:2013-08-16 09:31:01 【问题描述】:

我正在尝试使用 node.js 制作三星智能电视应用程序。

在我的项目中,我想让我的应用程序与服务器 pc 通信。

根据许多网站,我可以使用“jsonp”来做到这一点。

这是我找到的客户端代码。

<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');

                function test(data)
                    return "message":"ok";
                

                 $.ajax(
                    dataType: 'jsonp',
                    data: "data=yeah",                      
                    jsonp: 'callback',
                    url: 'http://172.20.10.3:3000/endpoint?callback=?',                     
                    success: function(data) 
                        console.log('success');
                        console.log(JSON.stringify(data));
                    
                );
            );             
        );
    </script>
</head>
<body>
    <div id="select_div"><a href="#" id="select_link">Test</a></div>    
</body>

而且,这是我找到的服务器端代码。

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) + ');');
);

这些代码在我的电脑(服务器电脑)上工作,但是当我在其他电脑上打开客户端页面时,它不起作用。

控制台只给我这个日志:

 X GET http://172.30.2.2:3000/endpoint?callback=jQuery11020685203080996871_1376482492523&data=yeah&_=1376482492524  

我想用jsonp来处理跨域,但是我觉得不行……

我能做些什么来解决这个问题?

请帮帮我!!

【问题讨论】:

你确定对方的电脑可以连接到你的电脑(在同一个网络,可以ping等)吗? @arghbleargh 感谢您的评论!!我检查了...其他人可以访问我的服务器... 尝试查看网络检查器并查看请求和响应是什么。 【参考方案1】:

只需使用

res.jsonp(obj)

你可以去ExpressJS JSONP了解更多信息

【讨论】:

in express 是否可以通过 $.getJSON 执行此操作并在同一页面上接收 json 响应?使用 response.jsonp 执行此操作会在新页面中呈现结果 不清楚您要做什么。您能否将其发布为带有详细信息的问题@user2290820 这里是问题:***.com/questions/31891606/…【参考方案2】:

尝试替换

res.send(req.query.callback + '('+ JSON.stringify(obj) + ');');

res.jsonp(req.query.callback + '('+ JSON.stringify(obj) + ');');

【讨论】:

如果您使用 res.jsonp(),我认为您不需要将对象字符串化并用回调包装它 这不安全,因为您可以通过callback URL 参数进行脚本注入。您需要先使用 js-string-escape 转义回调参数值:npmjs.com/package/js-string-escape

如何在 node.js + Express 中同时支持 json 和 jsonp 响应?

】如何在node.js+Express中同时支持json和jsonp响应?【英文标题】:Howtosupportbothjsonandjsonpresponsesinnode.js+Express?【发布时间】:2014-10-0513:10:38【问题描述】:我有一个RESTAPI服务,使用Node.js+Express编写,目前支持JSON格式的响应。现在,... 查看详情

JSONP 支持 node.js 和 mongo

】JSONP支持node.js和mongo【英文标题】:JSONPsupportwithnode.jsandmongo【发布时间】:2014-05-0708:58:30【问题描述】:我正在尝试使用node.js、express、mongo和mongodb创建一个简单的Web服务,它根据URL中的参数从mongodb返回结果。我想为调用添加... 查看详情

如何将 Node.js 与 Cassandra 连接起来?

】如何将Node.js与Cassandra连接起来?【英文标题】:HowtoconnectNode.jswithCassandra?【发布时间】:2016-10-0203:58:46【问题描述】:50年来,我一直在尝试将Node.js与Cassandra连接到localhost(感觉不错),但还没有弄清楚它们是如何协同工作... 查看详情

javascript/node.js 中的 JSONP 解析

...如"jsonp([1,2,3])",并且我想检索第三个参数3,我该如何编写一个函数来为我做这件事?我想避免使用eval。我的代码(如下)在调试行上运行良好,但由于某种原因返回und 查看详情

如何将 Node.js 中的 net 模块与 browserify 一起使用?

】如何将Node.js中的net模块与browserify一起使用?【英文标题】:HowtousethenetmodulefromNode.jswithbrowserify?【发布时间】:2015-08-3003:02:27【问题描述】:我想在客户端(在浏览器中)使用来自Node.js的net模块:varnet=require(\'net\');所以我查... 查看详情

您将如何将 node.js 子进程与 discord.js 一起使用?

】您将如何将node.js子进程与discord.js一起使用?【英文标题】:Howwouldyouusenode.jschildprocesseswithdiscord.js?【发布时间】:2021-09-0118:25:58【问题描述】:所以我有一个用javascript编码的不和谐机器人,它在与数据库交互或进行图像处理... 查看详情

javascript如何将mongodb与node.js一起使用(代码片段)

查看详情

如何使用 mongoose 将本地 mongodb 与 node.js 应用程序连接?

】如何使用mongoose将本地mongodb与node.js应用程序连接?【英文标题】:howtoconnectlocalmongodbwithanode.jsapplicationusingmongoose?【发布时间】:2020-11-2018:02:32【问题描述】:我第一次开发全栈应用程序。我在使用mongoose将本地MongoDB与node.js应... 查看详情

如何将 Mongoose/Mongodb 与 node.js- 护照身份验证一起使用

】如何将Mongoose/Mongodb与node.js-护照身份验证一起使用【英文标题】:HowtouseMongoose/Mongodbwithnode.js-passportauthentication【发布时间】:2022-01-0814:22:48【问题描述】:我正在构建我的第一个全栈node.js应用程序,我想使用护照进行身份验... 查看详情

如何将 Asterisk ARI 与 socket.io 和 Node.js 一起使用

】如何将AsteriskARI与socket.io和Node.js一起使用【英文标题】:HowtouseAsteriskARIwithsocket.io&Node.js【发布时间】:2016-01-0207:27:24【问题描述】:最近开始接触星号、Linux、node.js和最近的socket.io,以便我最终可以为星号制作实时Web应用... 查看详情

如何将移动发起的视频通话与基于 Web 的 [node.js] 视频通话集成?

】如何将移动发起的视频通话与基于Web的[node.js]视频通话集成?【英文标题】:HowdoIintegratemobileinitiatedvideocallwithwebbased[node.js]videocall?【发布时间】:2017-02-1313:58:54【问题描述】:我需要使用node.js和支持此功能的3rd方api通过网络[... 查看详情

如何将在 zeit 中运行的 node.js 与 postgresql 连接起来?

】如何将在zeit中运行的node.js与postgresql连接起来?【英文标题】:Howtoconnectnode.jsrunninginzeitwithpostgresql?【发布时间】:2019-06-0721:25:09【问题描述】:有node.js代码(builder@now/node)部署到zeit。现在我想将它连接到PostgreSQL。这似乎是一... 查看详情

如何将 REST 与 Node.js 和 AngularJS 一起使用在不同的端口上?

】如何将REST与Node.js和AngularJS一起使用在不同的端口上?【英文标题】:HowtouseRESTwithNode.jsandAngularJSbeingondifferentport?【发布时间】:2013-03-0907:00:55【问题描述】:我正在尝试了解Angular和Node.js在后端的合作。但是我不知道如何使用... 查看详情

请求新页面时如何将 AngularJS 路由与 Express (Node.js) 一起使用?

】请求新页面时如何将AngularJS路由与Express(Node.js)一起使用?【英文标题】:HowtouseAngularJSrouteswithExpress(Node.js)whenanewpageisrequested?【发布时间】:2012-10-2416:58:13【问题描述】:我正在使用Express,它从静态目录加载AngularJS。通常,我... 查看详情

如何将 @RequestBody 与 JSONP 请求一起使用?

】如何将@RequestBody与JSONP请求一起使用?【英文标题】:Howtouse@RequestBodywithaJSONPrequest?【发布时间】:2013-08-2012:54:57【问题描述】:由于集群环境中的跨域问题,我正在尝试使用jsonp数据类型执行ajax请求。我可以向没有@RequestBody... 查看详情

如何将node js前端代码与后端代码分开?

】如何将nodejs前端代码与后端代码分开?【英文标题】:Howtoseparatenodejsfrontendcodefrombackendcode?【发布时间】:2020-11-0412:42:55【问题描述】:问题:我对nodejs还很陌生,发现将前端与后端分开非常困难。(我不完全理解这些概念)... 查看详情

node.js 表达 jsonp 返回 typeof

】node.js表达jsonp返回typeof【英文标题】:node.jsexpressjsonpreturntypeof【发布时间】:2014-09-2201:04:00【问题描述】:不知道为什么,但是我的Express应用程序使用res.jsonp返回了一些奇怪的东西,如下所示:/**/typeofjsonp1406719695757===\'functio... 查看详情

在 express.js 中为 node.js 使用 jsonp

】在express.js中为node.js使用jsonp【英文标题】:usingjsonpinexpress.jsfornode.js【发布时间】:2012-12-0509:20:02【问题描述】:我正在创建一个简单的JSONAPI,它使用jsonp和node-js返回一个对象这是服务器端的代码:app.get(\'/vit\',function(req,res,n... 查看详情