尝试通过ajax将表单数据发送到示例PHP文件

时间:2019-05-06 06:00:32

标签: javascript php jquery html ajax

我正在使用Ajax将表单数据上传到我的服务器,并在其中使用PHP对其进行验证,问题是我的Ajax请求无法正常工作。

我之前曾使用过此代码段,但这次却不起作用。

我已经检查过,浏览器的控制台/网络选项卡中没有任何内容。

  

HTML

<form id="Create" style="display: none;" method="post">
  <input type="text" name="Name" placeholder="Room name" required autofocus >  
  <select name="Category">
    <option value="Technology">Technology</option>
    <option value="Disscussion">Discussion</option>
    <option value="Family">Family</option>
    <option value="Others">Others</option>
  </select>
  <br>
  <input type="submit" value="submit">
</form>
  

JS(Ajax代码)

$('#Create').on('submit' , function(e) {

    e.preventDefault();
    //e.stopPropagation();  
    $.ajax({
        url : "./process_php/Chat1.php" ,
        data : $('#Create').serialize() ,
        cache : false ,
        processData : false  ,
        //contentType : false ,
        type : "POST" ,

        success : function (response) {
            console.log(response);
        } 

    });

    return false ;

});

我的PHP页面没有任何内容,只有一行回显了'Hello'字样

我做了一些研究,但无济于事。

我已经仔细检查了目录,没事。

预先感谢!

4 个答案:

答案 0 :(得分:0)

为什么不简单地使用HTML form?然后在您的PHP文件中,从那里处理变量?

<form action="PHP file goes here" method="POST">
<input type="text" name="Name" placeholder="Room name" required autofocus >
<select name="Category">
    <option value="Technology">Technology</option>
    <option value="Disscussion">Discussion</option>
    <option value="Family">Family</option>
    <option value="Others">Others</option>
</select><br>
<input type="submit" value="submit">
</form>

PHP:

<?php
$Name = $_POST["Name"];
$Category = $_POST["Category"];
echo "Hello " . $Name . ". The Category you chose was " . $Category . ".";
?>

这肯定可以完成工作。希望这会有所帮助!

答案 1 :(得分:0)

我以前也遇到过类似的问题。

  1. 首先,检查所有依赖项是否正确。
  2. 然后检查函数是否在提交时收到调用。
  3. 如果以上2项正常工作,则只需进行以下更改 替换java -jar <my-jar-application.jar> <args>data : $('#Create').serialize()

希望这项工作对您有帮助 快乐编码:-)

答案 2 :(得分:0)

$('#Create').on('submit' , function(e) {
        e.preventDefault();
        //e.stopPropagation();  
           $.ajax({
           type: "post",
           url: "./process_php/Chat1.php",
           contentType: false,
           processData: false,
           data: new FormData(this),    
           cache: false, 
           success: function(response){ 
           console.log(response);

        }
      });

        return false ;
    });

答案 3 :(得分:-2)

请验证控件是否到达js文件。为了进行更好的调试,您可以内嵌ur js代码并尝试使用。看起来像$('#Create').on('submit' , function(e) {不会被调用。