我使用一个名为cordova-plugin-local-notifications的插件cordova,以便在我的设备上接收所有人的通知,除了我无法检索数据上的密钥值这里是我的代码:
cordova.plugins.notification.local.schedule({
title : "Test notif",
text: "un profil a été modifié",
data: {profilId:"somevalue"}
});
您可以看到数据的profilId设置为someValue,这是我的通知点击代码
cordova.plugins.notification.local.on("click", function(notification){
sessionStorage.setItem("myIndex", notification.data.profilId);
window.location.href='details.html';
});
在这里,我有一个问题,因为notification.data设置为:“{”profilId“:”somevalue“}”但是profilId未定义。
如果有人能够解释我在哪里做错了那将会很棒。
感谢您的时间。
答案 0 :(得分:3)
当您构建通知时,将profilId放在引号中 - 数据希望采用JSON格式。
{"profilID":"somevalue"}
解压缩(未经测试!)
var unpackedData = JSON.parse(notification.data);
var notificationProfilID = unpackedData['profilID'];
答案 1 :(得分:0)
我遇到了同样的问题。通知数据以String格式解析(我不知道为什么)。
只需使用JSON.parse:
JSON.parse(notification.data);