从jQuery提交到PHP

Submitting From jQuery to PHP

本文关键字:PHP 提交 jQuery      更新时间:2023-09-26

我已经将数据发送到我的jquery文件,并测试了数据字符串,所有内容都存储在它应该存储的位置,但当我将其发布到我的php文件时,所有变量都为null。有人能帮我吗?

$(document).ready(function() {
  $(".button").click(function() {
  //$('.error').hide();
  var firstname = $("input#First_Name").val(); 
  var lastname = $("input#Last").val(); 
  var areacode = $("input#area_code").val(); 
  var phonenumber = $("input#Phone_Number").val(); 
  var emailaddress = $("input#emailaddress").val(); 
  var confirmemail = $("input#confirm_email").val(); 
  var password = $("input#Password_Input").val(); 
  var confirmpassword = $("input#ConfirmPassword").val(); 
  var streetaddress = $("input#StreetAddress_input").val(); 
  var streetaddress2 = $("input#StreetAddress2_input").val();
  var city = $("input#City_Input").val(); 
  var state = $("input#StateInput").val(); 
  var zipcode = $("input#ZipCode").val(); 
  var month = $("input#month_input").val(); 
  var day = $("input#day_input").val(); 
  var year = $("input#year_input").val(); 
  var services = $("input#services_input").val(); 
  var agreement = $("input#agreement").val(); 
  var dataString = 'firstname=' + firstname + '&lastname=' + lastname + '&areacode=' + areacode + '&phonenumber=' + phonenumber + '&emailaddress=' + emailaddress + '&confirmemail=' + confirmemail + '&password=' + password + '&streetaddress=' + streetaddress + '&streetaddress2=' + streetaddress2 + '&city=' + city + '&state=' + state + '&zipcode=' + zipcode + '&month=' + month + '&day=' + day + '&year=' + year + '&services=' + services + '&agreement=' + agreement; 
  alert(dataString); 
  $.ajax({
        type: "POST",
        url: "http://www.vectorcreditsolution.com/js/process.php",
        data: dataString,
            success: function() {
            alert("Yay it was sent"); 
    }
        });
        return false;
     });

然后是我的php文件

<?php
    $FirstName = $_POST["firstname"];  
    $LastName = $_POST['lastname']; 
    $AreaCode = $_POST['areacode']; 
    $PhoneNumber = $_POST['phonenumber']; 
    $EmailAddress = $_POST['emailaddress']; 
    $Password = $_POST['password']; 
    $StreetAddress = $_POST['streetaddress']; 
    $StreetAddress2 = $_POST['streetaddress2']; 
    $City= $_POST['city']; 
    $State = $_POST['state']; 
    $ZipCode = $_POST['zipcode']; 
    $Month = $_POST['month']; 
    $Day = $_POST['day']; 
    $Year= $_POST['year'];
    $Service=$_POST['services']; 
    var_dump($_POST["firstname"]); 
    var_dump($_POST['firstname']); 
    var_dump($_POST[firstname]); 

尝试将数据发布为Javascript字典,而不是大字符串:

$.ajax({
    // ...
    data: {
        firstname: firstname,
        lastname: lastname,
        // etc.
    }
});

您没有输出AJAX返回的数据,也没有使用工具来查看它。也许您希望var转储显示在页面上。它们不会,它们将返回到成功函数中,在那里您可以使用您认为合适的数据。

jQuery的AJAX方法将PHP文件的输出通过管道传输到success函数内的"ret"变量中。例如,如果你想返回一条HTML成功消息,你可以在不刷新页面的情况下将该HTML添加到页面中。

你应该阅读AJAX。

更改此项:

$.ajax({
type: "POST",
    url: "http://www.vectorcreditsolution.com/js/process.php",
    data: dataString,
    success: function() {
        alert("Yay it was sent"); 
    }
});

到此:

$.ajax({
type: "POST",
    url: "http://www.vectorcreditsolution.com/js/process.php",
    data: dataString,
    success: function(ret) {
        alert(ret); 
    }
});

然后用jQuery点击页面上的按钮。

不要将此答案与本页上的其他答案结合起来。其中之一是更改您身上的数组键(序列化)。

我会使用serialize()jquery函数。与其查找每个字段值,不如序列化整个表单

$("#form-id").serialize();

$.ajax({
    type: "POST",
    url: "http://www.vectorcreditsolution.com/js/process.php",
    data: $("#form-id").serialize(),
        success: function() {
        alert("Yay it was sent"); 
}
    });
    return false;
 });