Javascript 必须使用JS/JQ(?)触发PHP表单数据

Javascript 必须使用JS/JQ(?)触发PHP表单数据,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,是否可以在不进入页面的情况下运行php文件/函数? 我的意思是,如果你创建了一个聊天应用程序,当你提交信息时,整个页面都会被重新加载,这真是令人不安 我尝试过AJAX,但没有成功。是否无法将聊天区的文本发布到PHP文件 <form action="..." method="POST"> <textarea id="chat_area" name="chat_text" cols="50" rows="1"></textarea> <inp

是否可以在不进入页面的情况下运行php文件/函数? 我的意思是,如果你创建了一个聊天应用程序,当你提交信息时,整个页面都会被重新加载,这真是令人不安

我尝试过AJAX,但没有成功。是否无法将
聊天区的文本发布到PHP文件

<form action="..." method="POST">
    <textarea id="chat_area" name="chat_text" cols="50" rows="1"></textarea>
    <input id="chat_submit" type="submit" name="submit" value="Posten">
</form>

<?php
    session_start();
    include_once( "database.php" );
    if( $_POST["chat_area"] ){
        $name = $_SESSION["firstname"]
        $time = "[" . date( "H:i", time() + 3600 ) . "]";
        $message = $_POST["chat_area"]
        mysql_query( "INSERT INTO chat( name, time, message ) VALUES ('$name', '$time', '$message' )" );
    }
?>


这是表单的默认行为。对于类似聊天的应用程序,您应该使用ajax。不仅用于发布表单数据,还用于接收来自后端应用程序的消息。否则,您将不得不重新加载页面,以检查是否有新消息

使用jQuery,您可以停止要触发的表单的默认操作,然后将数据发布到PHP

您应该将应用程序拆分为2个文件。主页和文件,其中所有数据都发送到(和从中接收)

您的前端

<?php
   session_start();
   // rest of the PHP, if any...
?>

<form method="POST">
  <textarea id="chat_area" name="chat_text" cols="50" rows="1"></textarea>
  <input id="chat_submit" type="submit" name="submit" value="Posten">
</form>

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js" type="text/javascript"></script> 

<script>

  $(document).ready(function(){ 
     $('#chat_submit').on('click', function(e){
        e.preventDefault();

        $.ajax({
          type     : "POST",
          url      : 'your_php_file.php',
          dataType : 'text',
          data     :{
            message : $('#chat_area').val()
          },
          success  : function(data){
            if(data == 'success'){
              // E.g.: append the message to chat area after it is successfully stored in DB.
            }
          },
          complete : function(status){
            // call on complete
          },
          error    : function(response){
            // call when error
          }
        });
     });
  });

</script>

$(文档).ready(函数(){
$('chat#u submit')。在('click',函数(e){
e、 预防默认值();
$.ajax({
类型:“POST”,
url:'your_php_file.php',
数据类型:“文本”,
数据:{
消息:$(“#聊天区”).val()
},
成功:功能(数据){
如果(数据==“成功”){
//例如:成功存储在DB中后,将消息追加到聊天区。
}
},
完成:功能(状态){
//拜访
},
错误:函数(响应){
//错误时呼叫
}
});
});
});
PHP(您的\u PHP\u文件.PHP):


不,这不是不可能的!尝试阅读JQuery,还有其他方法吗?我只是在创建聊天,所以必须有一种方法..使用AJAX向服务器发送请求而无需重新加载页面。因此,我正在使用AJAX,是否可以调用php文件中的文本?www.m7-studios.de用户名:test密码:test。。php数据未插入数据库。原始php脚本中的
$name=$\u会话[“firstname”]
$message=$\u POST[“chat\u area”]
后缺少分号。(更新我的答案)谢谢!即使是很小的错误也可能是至关重要的。聊天功能正如您所见。
<?php
  session_start();
  include_once("database.php");
  if( isset($_POST["message"]) ){
    $name = $_SESSION["firstname"];
    $time = "[" . date( "H:i", time() + 3600 ) . "]";
    // a little of safety:
    $unsafe_message = trim($_POST["message"]);
    $safe_message = mysql_real_escape_string($unsafe_message);
    mysql_query
      ( "INSERT INTO chat( name, time, message ) 
      VALUES
      ('$name', '$time', '$safe_message' )" ) or die('error');
      echo 'success';
  }else{
     echo 'error';
  }
?>