Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/226.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在NodeJS和Socket.io中创建实时更新?_Php_Jquery_Node.js_Sockets_Socket.io - Fatal编程技术网

Php 如何在NodeJS和Socket.io中创建实时更新?

Php 如何在NodeJS和Socket.io中创建实时更新?,php,jquery,node.js,sockets,socket.io,Php,Jquery,Node.js,Sockets,Socket.io,我有一个单独的表格和一个单独的表格列表。 我想要的是,在插入数据后,单独的表列表将自动更新。但在我的情况下,保存数据后,我的表列表不会更新 这是我的密码: createUser.php <div class="container"> <div class="col-md-4"> <form role="form" id="usersForm"> <div cl

我有一个单独的表格和一个单独的表格列表。 我想要的是,在插入数据后,单独的表列表将自动更新。但在我的情况下,保存数据后,我的表列表不会更新

这是我的密码:

createUser.php

<div class="container">
            <div class="col-md-4">
                <form role="form" id="usersForm">
                    <div class="row">
                        <div class="form-group">
                            <label>Last Name</label>
                            <input type="text" id="input-lastname" placeholder="Last Name" class="input-sm form-control" />
                        </div>
                    </div>
                    <div class="row">
                        <div class="form-group">
                            <label>First Name</label>
                            <input type="text" id="input-firstname" placeholder="First Name" class="input-sm form-control" />
                        </div>
                    </div>
                    <div class="row">
                        <div class="form-group">
                            <label>Age</label>
                            <input type="number" min="18" id="input-age" placeholder="Age" class="input-sm form-control" />
                        </div>
                    </div>
                    <div class="row">
                        <p id="status"></p>
                    </div>
                    <div class="row">
                        <div class="form-group">
                            <button type="submit" class="btn btn-primary">Save</button>
                        </div>
                    </div>
                </form>
            </div>
        </div>
        <script type="text/javascript" src="ASSETS/bower_components/jquery/dist/jquery.min.js"></script>
        <script type="text/javascript" src="ASSETS/bower_components/bootstrap/dist/js/bootstrap.min.js"></script>
        <script src="http://127.0.0.1:8888/socket.io/socket.io.js"></script>
        <script src="client.js"></script>
client.js

var socket = require('socket.io');
var express = require('express');
var http = require('http');

var app = express();
var server = http.createServer(app);

var io = socket.listen(server);

io.sockets.on('connection', function(client) {

    console.log('New Client!');

    client.on('user', function(data) {
        console.log('data received');
        console.log(data);
        io.sockets.emit('users', {
            lastname: data.lastname,
            firstname: data.firstname,
            age: data.age
        });
    });

});

server.listen(8888);
var socket = io.connect('http://localhost:8888');

$('#usersForm').submit(function(e){

    e.preventDefault();

    var input_lastname = $('#input-lastname').val();
    var input_firstname = $('#input-firstname').val();
    var input_age = $('#input-age').val();

    socket.emit('user', {
        lastname: input_lastname,
        firstname: input_firstname,
        age: input_age,
    });

    $.ajax({
        url: "insertUser.php",
        type: 'POST',
        dataType: 'json',
        data: { lastname: input_lastname, firstname: input_firstname, age: input_age },
        beforeSend: function() {
            console.log('loading...');
        },
        success: function(data) {

            if(data.status == 1) {
                $('#status').text('Data Inserted!');
                $('#input-lastname').val('');
                $('#input-firstname').val('');
                $('#input-age').val('');
            } else {
                $('#status').text('Error Occured in query!');
            }

        },
        error: function() {
            alert('Error occured!');
        }
    });

    socket.on('users', function(data) {

        var newList     =   '<tr>';
            newList    +=   '   <td>' + data.lastname + '</td>';
            newList    +=   '   <td>' + data.firstname + '</td>';
            newList    +=   '   <td>' + data.age + '</td>';
            newList    +=   '</tr>';

        $('#user-list tbody').append(newList);

    });

});
var socket=io.connect('http://localhost:8888');
$('#usersForm')。提交(函数(e){
e、 预防默认值();
var input_lastname=$('#input lastname').val();
var input_firstname=$('#input firstname').val();
var input_age=$('#input age').val();
socket.emit('user'{
lastname:input_lastname,
firstname:input_firstname,
年龄:输入年龄,
});
$.ajax({
url:“insertUser.php”,
键入:“POST”,
数据类型:“json”,
数据:{lastname:input_lastname,firstname:input_firstname,age:input_age},
beforeSend:function(){
log('loading…');
},
成功:功能(数据){
如果(data.status==1){
$('#status').text('插入数据!');
$('#输入lastname').val('');
$('#输入firstname').val('');
$(“#输入年龄”).val(“”);
}否则{
$('#status').text('查询中发生错误!');
}
},
错误:函数(){
警报('发生错误!');
}
});
socket.on('users',函数(数据){
var newList='';
newList+=''+data.lastname+'';
newList+=''+data.firstname+'';
newList+=''+data.age+'';
newList+='';
$(“#用户列表tbody”).append(newList);
});
});
但是当我把表格和清单放在一起的时候。它更新了我的名单


你能帮我一下吗?

我认为(…)上的
socket.on
应该是
$(“#usersForm”)。提交(…)
,和
socket.emit(…)
应该是
成功的函数

(它假定在(…)
上访问
客户端中的数据库)