【问题标题】:How to clean alert message from pusher?如何清除推送器的警报消息?
【发布时间】:2019-10-10 19:44:35
【问题描述】:

我正在使用 PUSHER 进入我的网站以获取通知。 我成功添加了代码及其工作。 但问题是当警报被触发时,我正在接收消息,但它不是我想要的。

我从 Javascript alert() 收到这条消息;

{"message":"A new appointment arrived"}

alert message from pusher 我的代码是

var channel = pusher.subscribe('my-channel');
    channel.bind('my-event', function(data) {
    document.getElementById('audio').play();
    alert(JSON.stringify(data));
    $.ajax({url: "notification", success: function(result){
        $("#notification").html(result);
    }})
});

这就是我得到这个的地方。

$data['message'] = 'A new appointment arrived';
$pusher->trigger('my-channel', 'my-event', $data);

我收到来自

的消息
JSON.stringify(data)

我的问题是,有没有办法可以从警报消息中删除除A new appointment arrived 之外的所有内容? 提前致谢。 我是初学者,对 Javascript 知之甚少。

【问题讨论】:

    标签: javascript php json alert pusher


    【解决方案1】:

    如果我正确理解了您的问题,那么您要问的是如何更改警报中显示的输出

    {"message":"A new appointment arrived"}
    

    只是A new appointment arrived。对吗?

    JSON.stringify() 所做的是将 JavaScript 对象转换为 JSON 格式的文本字符串。由于您实际上对对象并不感兴趣,只是对它包含的消息感兴趣,因此这里真的不需要使用JSON.stringify。假设您收到的数据始终具有格式

    { message: "Some type of message" }
    

    你可以写alert(data.message)(或者alert(data["message"]),如果你不喜欢JavaScript点符号)。

    【讨论】:

    • 谢谢!它有效,alert(data.message) 但document.getElementById('audio').play(); 现在不起作用。
    • 如果不查看所引用页面的 HTML,我认为我无法解决该问题。您确定存在 ID 为“audio”的元素吗?
    • 是的,我在该页面中有一个包含此代码的音频文件<audio id="audio" src="sound/tone.mp3" preload="auto"></audio>
    【解决方案2】:

    删除 JS 代码中的 alert(JSON.stringify(data)); 行。这会使用从您的事件收到的消息触发警报。

    您可以在此处阅读有关alert() 方法的更多信息:https://developer.mozilla.org/en-US/docs/Web/API/Window/alert

    【讨论】:

    • 不不,我想要那个提醒,但我想从我的消息中删除 = {"message":" 和 "}。我现在收到的警报是 = {"message":"一个新约会到了"}
    • 我想删除 curly brackets 和 double quotes 以及单词 message 和 clone。
    • 因此,在这种情况下,您只需打印对象的 message 字段:alert(data.message);
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多