推送器未正确发布到服务器
Pusher not correctly posting to server
我正在使用 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 函数之前有效。所以这绝对不是与缺少库、依赖项等相关的问题。
这可能是与权限相关的问题吗?
预先感谢您的帮助。
发现问题。当我尝试 post 到服务器时,它在 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'
还以为会自动找到:)
我正在使用 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 函数之前有效。所以这绝对不是与缺少库、依赖项等相关的问题。 这可能是与权限相关的问题吗? 预先感谢您的帮助。
发现问题。当我尝试 post 到服务器时,它在 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'
还以为会自动找到:)