从jQuery提交到PHP

use*_*295 6 javascript php ajax jquery

我已经将数据发送到我的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;
     });
Run Code Online (Sandbox Code Playgroud)

然后是我的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]); 
Run Code Online (Sandbox Code Playgroud)

mil*_*ose 5

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

$.ajax({
    // ...
    data: {
        firstname: firstname,
        lastname: lastname,
        // etc.
    }
});
Run Code Online (Sandbox Code Playgroud)


Dam*_*S8N 4

您没有输出 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"); 
    }
});
Run Code Online (Sandbox Code Playgroud)

对此:

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

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

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