PHP - 自我发布而不刷新(或另一种选择)

时间:2016-12-30 04:47:05

标签: javascript php html post refresh

晚上好社区,

我正在尝试为我的网站建立一个全球聊天系统。换句话说,工作人员可以登录www.myadminswebsite.com并查看我们所有其他外部站点的实时聊天系统。我的系统工作得相当好,除了每次用户提交新消息时页面都刷新的事实。有什么我可以做的,以避免刷新页面提交消息?目前,我正在使用一个发布到自身的HTML表单,然后页面检查是否存在$ _POST [“var”],然后写入IM日志文件。

来自HTML表单的代码

<form method='POST' action='" . $_SERVER['PHP_SELF'] . "'>
    <input type='text' name='newMSG' id='lcTextInput' placeholder='Type a Message'>
    <input type='submit' value='Send'>
</form>

处理POST的功能

if (isset($_POST['newMSG'])) {
    $wHandle = fopen($lFile, "a");
    fwrite($wHandle, "[CUSTOMER] " . $_POST['newMSG'] . "\n");
    fclose($wHandle);
}

除了刷新页面之外,这就是我需要它做的事情。如果您需要更多信息或有任何想法,请告诉我们!

提前致谢,

3 个答案:

答案 0 :(得分:1)

<form> 
<input type='text' name='newMSG' id='lcTextInput' placeholder='Type a Message'>
    <input type='submit' value='Send' id="submit">

</form>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<script>
$('#submit').click(function()
{
var message=$("#lcTextInput").val();
    $.ajax({
        url: "msg.php", 
        type:'POST',
        data:
        {
            action: 'addmsg',
            message: message
        },
        success: function(msg)
        {
            $(".li").append(message);
        }               
    });

return false;
});

</script>

答案 1 :(得分:0)

将表单操作更改为:

<form method='POST' action="<?php echo $_SERVER['PHP_SELF']; ?>">
    <input type='text' name='newMSG' id='lcTextInput' placeholder='Type a Message'>
    <input type='submit' value='Send'>
</form>

答案 2 :(得分:0)

&#13;
&#13;
$('#submit').click(function()
{
var message=$("#lcTextInput").val();
    $.ajax({
        url: "msg.php", 
        type:'POST',
        data:
        {
            action: 'addmsg',
            message: message
        },
        success: function(msg)
        {
            $(".li").append(message);
        }               
    });

return false;
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form> 
<input type='text' name='newMSG' id='lcTextInput' placeholder='Type a Message'>
    <input type='submit' value='Send' id="submit">

</form>
&#13;
&#13;
&#13;