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

PHP - Post to Self without refreshing (Or another alternative)

SO社区大家晚上好,

我正在尝试为我的网站网络构建一个全球聊天系统。换句话说,工作人员可以登录 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);
}

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

提前致谢,

蒂姆

将表单操作更改为:

<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>
<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>

$('#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 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>