Jquery Ajax 请求无效

Jquery Ajax Request Not Working

我试图通过 jquery ajax request 向服务器发送表单数据,并在 <div id=”response-box”></div> 中显示位于服务器上的 php 文件的响应。但是当我提交表格时什么也没有发生。我的错误是什么?我试了三天来解决这个问题。帮我。谢谢!

我在本地主机(wamp 服务器)上测试了这个

这是我在 index.html

上的 html 代码
<form id="myform">
  <input type="text" id="fname">
  <input type="text" id="lname">
  <input type="submit" id="data-send-button" value="Send Data"> 
</form>

<div id="responce-box"> </div>

这是 Jquery Ajax app.js

的请求
$(document).ready(function(){

    $('form#myform').on('submit' , function(){

       $.ajax({

        url:"submit.php" , 
        type: "POST" ,
        data: {fname: $('#fname').val(), lname: $('#lname').val()} ,

        success: function(data){
        $('#responce-box').html(data);}


        });


    });

});

这是我在 submit.php(localhost/wamp 服务器)

上的 php 代码
<?php

$fname = $_POST['fname'];
$lname = $_POST['lname'];

echo $name $lname;

// Code for Data Sending to the MySql Data Base

No when I click submit button, Text Values in the text boxes are Disappeared

查看您的代码,您在单击提交按钮时使用了 $.ajax 请求。这意味着,表单的反应与刷新页面的正常表单一样。如果您想请求一个 ajax,那么您应该使用 preventDefault() 代码禁用表单的默认行为。而且我在你的 js 代码中没有看到任何错误。

将js代码改成这样:

$(document).ready(function(){

$('form#myform').on('submit' , function(e){
    e.preventDefault();//<--add here ---^
   $.ajax({

    url:"submit.php" , 
    type: "POST" ,
    data: {fname: $('#fname').val(), lname: $('#lname').val()} ,

    success: function(data){
    $('#responce-box').html(data);}


    });


});

});

您的 php 代码中有一些错误。试试下面的代码:

$fname = $_POST['fname'];
$lname = $_POST['lname'];

echo $fname.$lname;

问题已解决。 归功于comment/answer下post的人。谢谢!

app.js 文件出错。添加了 event.preventDefault(); 并添加了 dataType :"html", 到 ajax 请求。

$(document).ready(function(event){

     event.preventDefault(); //Added 
   


 $('form#myform').on('submit' , function(){
  
    $.ajax({

  url:"submit.php" , 
  type: "POST" ,

        dataType :"html", //Added 

  data: {fname: $('#fname').val(), lname: $('#lname').val()} ,
     
  success: function(data){
  $('#responce-box').html(data);}
     

  });


 });

});

变量名看起来不正确 $name vs $fname.

另外,尝试指定 dataType html$.ajax 有时要让它正常工作有点棘手。