Tag: 推送

array.push(SomeObject)不复制SomeObject中包含的数组

以下代码: var ResultSet= { 'ResultSetName': "Resultset1", Values: [ { Val1: 1, Val2: 2, Val3: 'SomeName' } ] } var AllResults= { 'MyListName': 'SomeList', 'MyResults': { Results: [] } } AllResults.MyResults.Results.push(ResultSet); console.log(AllResults.MyResults); console.log(AllResults.MyResults.Values); 产生输出: { Results: [ { ResultSetName: 'Resultset1', Values: [Object] } ] } undefined 不过,我期望它产生如下的东西: { Results: [ { ResultSetName: 'Resultset1', Values: [Object] } […]

这个错误是什么意思:Falsy值为收件人键'registrationTokens'

我得到这个错误:使用gcm推送通知时收件人键'registrationTokens'的Falsy值。 下面你可以find我的代码: Device.find({ user: { $in: users }}, function (err, devices) { if (err) { logger.error('500 ' + err) return res.status(500).json({ code: config.errorCode.status500.code, message: config.errorCode.status500.message }) } var androidRegTokens = [] var iOSReqTokens = [] for (var i = 0; i < devices.length; i++) { if (devices[i].platform == 'Android') { androidRegTokens.push(devices[i].deviceToken) } else { iOSReqTokens.push(devices[i].deviceToken) […]

以json格式将.json格式的html格式的数据保存在.json文件中,并用javascript表示

新手在节点和expression我正在从HTML格式的用户input,并试图追加或推入一个.json文件。 我已经使用了jsonfile npm-package,但是它不是json的数组格式 代码附加 – var express = require('express'); var app = express(); //jade –> ejs –>html app.engine('html', require('ejs').renderFile); app.set('views', path.join(__dirname, 'views')); app.set('view engine', 'html'); var jsonfile = require('jsonfile'); var file = './userdata.json' //trying to write via form to json app.post('/gettingdata', function(req, res) { var user_id = req.body.usrid; var token = req.body.usrphone; var geo = […]

在node.js中打开套接字时发送数据

我正在configuration一个nodejs服务器,以便将其用作推送通知的服务器。 我有这个代码: io.sockets.on('connection', function(socket) { console.log(socket); // watching the xml file fs.watchFile('client.xml', function(curr, prev) { // on file change we can read the new xml fs.readFile('client.xml', function(err, data) { if (err) throw err; // parsing the new xml datas and converting them into json file parser.parseString(data); }); }); // when the parser ends the parsing […]

合并具有相同ID的数组

这是我的arrays 。 我想要合并具有相同_id的数组,即86ded3fdfc5f92724491f82我该怎么做? 我正在这样做来创build数组。 dinnerDrug.push({ '_id': value._id, 'name': value.medicine_name, 'count': value.dose_dinner_count, 'type': value.medicine_type, 'consume': value.dose_dinner_consume, 'comment': value.medicine_comment }); dinnerArray.push({ '_id': value.doctor_id, 'doctor_name': value.doctor_name, 'doctor_dept': 'Cardiologist', 'prescription': dinnerDrug }); 我试图删除这样的重复 morningArray.forEach(function(val) { if (val._id == value.doctor_id) { morningArray.prescription.push(morningDrug) } else { morningArray.push({ '_id': value.doctor_id, 'doctor_name': value.doctor_name, 'doctor_dept': 'Cardiologist', 'prescription': morningDrug }); } }); 但重复的数组不会被删除,而是说错误为推送未定义。 我在做什么错误,我该如何解决这个问题? 预期的输出应该是这样的: […]

devise实时Web应用程序(Node.js和socket.io)

我想问一些好的做法。 我有一个Node.js(Express)Web服务器和socket.io推送服务器(以防技术问题)。 我可以把他们两个变成一个应用程序,但我希望他们分开(如果需要,他们可以相互沟通)。 有两个原因可以做到这一点: 这将是更容易pipe理,debugging和开发应用程序; 扩展应用程序会容易得多。 如果需要,我可以只添加推送服务器或Web服务器的另一个实例; 这至less是我相信的。 唯一的问题是,当客户端连接到独立的socket.io服务器,那么它不会发送cookie(不同的端口,跨域策略)。 我提出的解决方法是在前面放置一个反向代理(用Node.js编写),并检查我们正在处理的请求是什么types,并将其发送到Web服务器或推送服务器。 太棒了,现在我们在networking服务器和推送服务器上都有cookies。 反向代理可以是负载均衡器,这是额外的好处。 这对我来说是个好主意。 你对这个devise有什么看法? 也许任何其他解决方法cookie的问题?

APN BadDeviceToken iff运行dev版本

问题 我在工作时没有收到推送通知给我的应用程序, APN服务器返回“ BadDeviceToken ” 。 情况 我必须在这里错过一些简单的事情,情况是这样的: 当我发送推送通知到我的应用程序从App Store下载它的作品 当我从同一服务器发送推送通知到我的应用程序的相同版本(*),但build立了Xcode,APN服务器返回一个status: '400'失败, failed[0].response.reason: 'BadDeviceToken' (*)我说相同的版本,代码是相同的,插件应该是相同的,但我已经把cordovaiOS版本从4.x改为3.x。 技术 我正在使用推送通知的新方法,在服务器上的服务器上我只有一个.p8 APNs身份validation密钥。 服务器是使用node-apn插件的节点代码。 客户端应用程序是cordova,使用Telerik Push Plugin 。 我试过了 我已经尝试创build一个新的APNsauthentication密钥,并上传到服务器; 仍然适用于应用程序的App Store版本,而APN在发送到我本地生成的应用程序版本时仍然返回“BadDeviceToken”。 我已经尝试设置production: false在发送推送到我的本地构build的应用程序之前,在服务器configurationnode-apn production: false ; 我仍然收到“BadDeviceToken”错误。 根据这个问题对令牌做一个额外的hex编码; 结果是它仍然说“BadDeviceToken”,虽然在这种情况下,它实际上是真的。 将cordova-ios版本反弹到4.3.1; 仍然得到“BadDeviceToken”。 双重检查build立时的“推送通知”function 按照这里所build议的执行发布版本而不是debugging版本,并在此处进行描述 问题(S) 为什么APN服务器在显示不正确的时候说BadDeviceToken ? 而且,我该如何解决?