使用 AJAX 发布表单

Posting form using AJAX

任何人都可以帮助我使用 Ajax 发送以下表格。我只想将它发送到 trolley1.php 页面进行处理,不要回电或类似的事情。基本上复制表单,但使用 Ajax 发送它,因此页面不会转到 trolley1.php 页面。我已经尝试了很多方法,但一直无法做到这一点。比尔盖茨或史蒂夫沃兹尼亚克如果你们正在阅读这篇文章,请帮助

这给了我一个控制台 $.Ajax 不是控制台中的函数

<script>
$(document).ready(function(){
$('form').submit(function(event){
event.preventDefault();

var form_data = $(this).serialize();   
$.ajax({ 
    url: "trolley1.php",
    type: "POST",
    dataType:"json", 
    data: form_data
}).done(function(data){ 
    alert("Item added to Cart!"); 
    }
});
});
</script>

<?php
echo "
<div class='col-sm-3 mt-5'>
<form class='ajax' method='post' action='trolley1.php?action=add&id=$id'>
  <div class='products'>
      <a>$img</a>
      <input type='hidden' name='id' value='$id'/>
      <input type='hidden' name='name' value='$product'/>
      <input type='hidden' name='price' value='$price'/>
      <input type='text' name='quantity' class='form-control' value='1'/>
      <input type='submit' name='submit' style='margin-top:5px;' class='btn btn-info'
             value='Add to Cart'/>      
  </div>
</form>

您的 JS 代码中有一个语法错误 - 请查看正确的代码

$(document).ready(function(){
    $('form').submit(function(event){
        event.preventDefault();

        var form_data = $(this).serialize();   
        $.ajax({ 
            url: "trolley1.php",
            type: "POST",
            dataType:"json", 
            data: form_data
        }).done(function(data){ 
            alert("Item added to Cart!"); 
        });
    });
});

并且您正在使用 jQuery 作为额外的 javascript 库。 jQuery 使用 $ 来访问方法(例如 $.ajax)这就是你得到未定义错误的原因。

因此您需要先在页面开头加载库(在 <head> 内)。例如。直接来自他们的 CDN

<script src="https://code.jquery.com/jquery-3.3.1.min.js"
    integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8="
    crossorigin="anonymous"></script>

那么它应该适合你