gpt4 book ai didi

javascript - 推送器未正确发布到服务器

转载 作者:行者123 更新时间:2023-11-28 06:47:03 26 4
gpt4 key购买 nike

我正在使用 Pusher 在 HTML5 中创建实时通知。我使用的代码让用户在框中写入一些文本,然后单击“Go!”按钮。选中后,其他活跃用户将收到该短信。Pusher 还有一个调试控制台来检查所有连接和传输的数据。

我遇到的问题是,当我单击按钮时,通知被发送,我可以在调试控制台中看到它,但它不包含任何文本,它是一个空的 JSON,并且没有任何显示其他用户。这是发送的 JSON:

{
"message": null
}

我必须主文件。 index.html 位于:mywebsite.com/notifications/index.html这是:

<html>
<head>
<title>Realtime Notifications</title>
<script src="//js.pusher.com/2.2/pusher.min.js" type="text/javascript"></script>
<script src="//code.jquery.com/jquery-2.1.3.min.js" type="text/javascript"></script>
</head>
<body>

<div class="notification"></div>
<input class="create-notification" placeholder="Send a notification :)"></input>
<button class="submit-notification">Go!</button>

<script>

var pusher = new Pusher('MY APP KEY');

var notificationsChannel = pusher.subscribe('notifications');

notificationsChannel.bind('new_notification', function(notification){
var message = notification.message;
$('div.notification').text(message);
});

var sendNotification = function(){

// get the contents of the input
var text = $('input.create-notification').val();

// POST to our server
$.post('http://mywebsite.com/notifications/notification', {message: text}).success(function(){
console.log('Notification sent!');
});
};

$('button.submit-notification').on('click', sendNotification);

</script>

</body>
</html>

和一个index.php:mywebsite.com/notifications/notification/index.php这是代码:

<html>
<head>
<title> notification index </title>
</head>
<body>

<?php

require(dirname(__FILE__).'/../vendor/autoload.php');

$pusher = new Pusher('MY APP KEY', 'MY APP SECRET', 'MY APP ID');

// trigger on 'notifications' an event called 'new_notification' with this payload:

$text = $_POST['message'];

$data['message'] = $text;

$pusher->trigger('notifications', 'new_notification', $data);

?>

</body>
</html>

在添加 sendNotification 函数之前,代码可以正常运行。所以这绝对不是与缺少库、依赖项等相关的问题。这可能是与权限相关的问题吗?预先感谢您的帮助。

最佳答案

发现问题。当我尝试发布到服务器时,它位于index.html中:

// POST to our server
$.post('http://mywebsite.com/notifications/notification'

我需要指定index.php:

// POST to our server
$.post('http://mywebsite.com/notifications/notification/index.php'

以为它会自动找到它:)

关于javascript - 推送器未正确发布到服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33322189/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com