我正在尝试创建一个像Facebook一样的发布系统.所以我做了一些关于Facebook如何做的研究,Facebook使用长轮询,所以我搜索了如何实现它,我实现它.我终于完成了它,我打开了Firefox和Chrome来测试它.在2或3个帖子之后它起作用,但之后它将复制结果.如下所示:

顺便说一句,这是第一篇文章.
这是我的网络选项卡,在此过程中:

它发出3个请求而不是1个.
最后这是我的代码:
init.js包含我的所有JavaScript代码
function getNewPosts(timestamp) {
var t;
$.ajax({
url: 'stream.php',
data: 'timestamp=' + timestamp,
dataType: 'JSON',
})
.done(function(data) {
clearInterval( t );
// If there was results or no results
// In both cases we start another AJAX request for long polling after 1 second
if (data.message_content == 'results' || data.message_content == 'no-results') {
t = setTimeout( function() {
getNewPosts(data.timestamp);
}, 1000);
// If there was results we will append it to the post div …Run Code Online (Sandbox Code Playgroud) 我有一个简单的侧边栏,其中有一堆列表项,列表项旁边有一个按钮,如下所示:
我将一个点击处理程序附加到该<li>元素,如下面的代码所示:
<li className="note" onClick={()=> props.selectNote(props.note)} role="button">
<button className="delete-note" onClick={() => console.log('Fired')}>Delete dis</button>
<span className="updated-at">2hr</span>
<div className="note-content">
<h4 className="note-title">
{title}
</h4>
<p className="note-preview">
{notePreview.substr(0, 80)}...
</p>
</div>
</li>
Run Code Online (Sandbox Code Playgroud)
但正如预期的那样,当我单击旁边的按钮时,实际li被单击,而不是其中的按钮。我认为这是事件如何冒泡的某种问题,以及将onClick处理程序附加到非交互式元素是一种不好的做法(我的 ESLint 是这么说的)。
我想要的是:
onClick会触发附加事件。onClick按钮上的事件,而不是<li>.如何选择另一个div中的所有div并找到最大的id属性?
请考虑以下代码:
<div class="posts">
<div class="post" data-id="5"></div>
<div class="post" data-id="3"></div>
<div class="post" data-id="1"></div>
<div class="post" data-id="4"></div>
</div>
Run Code Online (Sandbox Code Playgroud)
我想要做的是,发现div那是最大的id attribute
我使用以下代码来获取id attribute:
$('.posts .post').data('id');
Run Code Online (Sandbox Code Playgroud)
但这会返回最新的,而不是最大的.
我正在尝试为我的社交网络创建一个通知系统.但我坚持数据库设计.因此,当用户对另一个用户发表评论时,我想显示"X评论你的帖子".或当有人跟随另一个人时我想显示通知.
到目前为止这是我的表:
CREATE TABLE IF NOT EXISTS `notifications` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`user_id` int(11) NOT NULL,
`notification_id` int(11) NOT NULL,
`text` text NOT NULL,
`read` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
Run Code Online (Sandbox Code Playgroud)
我困惑的部分是,当有人跟随另一个人时,我应该插入记录吗?喜欢......当有人点击按钮后?如果是这样,我应该在行中插入什么?
我正在使用PHP和Laravel框架.
您好我是php和mysql的新手.但我有一个问题这是我的问题:
我正在尝试使用表单将数据插入数据库.
但是当我这样做时,它在用户名密码列中返回1.
这是我的Index.php:
<?php
$host = 'localhost';
$dbname= 'akar';
$user = 'akar';
$pass = 'raparen';
$dsn = "mysql:host=$host;dbname=$dbname";
$pdo = new PDO($dsn,$user,$pass);
$username = isset($_POST['username']);
$password = isset($_POST['password']);
$query = "INSERT INTO users (username,password) VALUES(:username,:password)";
$statement = $pdo->prepare($query);
$statement->execute(array(
':username'=> $username,
':password'=> $password
));
?>
Run Code Online (Sandbox Code Playgroud)
这是我的表格:
<form action='index.php' method='post'>
<input type='text' placeholder='Enter Username here!' name='username' />
<input type='password' placeholder='Enter Password here!' name='password' />
<input type='submit' value='Submit' />
Run Code Online (Sandbox Code Playgroud)
当我这样做:
$username = $_POST['username'];
Run Code Online (Sandbox Code Playgroud)
它工作正常,但当我这样做:
$username = isset($_POST['username']);
Run Code Online (Sandbox Code Playgroud)
它在数据库中插入1,而不是输入中的文本.
对不起,如果我组织任何事情,我是新手.
我有一个滑块,我希望内容 div 的边缘具有模糊效果,模糊其后面的背景图像。背景图像来自父 div。正如您所看到的,里面的内容并不模糊,您可以透过背景看到内容,但边缘是模糊的。关于如何实现这种效果有什么想法吗?
无论是纯 CSS 还是与 JavaScript 混合,我都在使用 React。
javascript ×4
php ×3
html ×2
ajax ×1
blur ×1
css ×1
dom ×1
dom-events ×1
jquery ×1
laravel ×1
long-polling ×1
mysql ×1
reactjs ×1
sql ×1