Проблема с JQuery для PHP - PullRequest
0 голосов
/ 07 марта 2012

Данные проходят нормально в jQuery, но при попытке передать их в PHP он начинает глючить, и все равно NULL.Я использовал окна предупреждений, и похоже, что данные и значения сохраняются, а затем я попытался с помощью ajax передать его в имеющийся у меня php-файл, а затем я сделал var_dump для проверки переменной, и она равна NULL.Может кто-нибудь, пожалуйста, помогите мне?

Пожалуйста, помогите.

jQuery код:

            var dataString = 'Billing_Name=' + Billing_Name + '&Billing_Email=' + Billing_Email + '&Billing_Card=' + Billing_Card + '&Month=' + Month + '&Year=' + Year + '&Billing_StreetAddress1=' + Billing_StreetAddress1 + 'Billing_StreetAddress2=' + Billing_StreetAddress2 + '&Billing_City=' + Billing_City + '&Billing_State=' + Billing_State + '&Billing_Zip=' + Billing_Zip + '&Billing_Phone=' + Billing_Phone;   
     alert(dataString); 

    $.ajax({
        //cache: false,
        type: "POST",
        url: "test.php",
        data: dataString,
        //  dataType: ($.browser.msie) ? "text" : "xml",  
    success: function(ret) {
        alert(ret); 
        //alert("it has been sent"); 
        //$.get("https://affordableapparelny.com/ssl/checkoutprocess.php",dataString), 
        alert("it was sent"); 
        window.location.href="http://affordableapparelnewyork.com/ssl/test.php"; 
                },
     error: function(xhr, type, exception){
                          alert("something went wront here"); 
                          alert("Error: " + type);
                          console.log('@Error: '+errorThrown);
                          console.log('@Status: '+status);
                          console.log('@Status Text: '+xhr.statusText);
                            }
    });

и вот код PHP

 <?php

   $BName=$_POST['Billing_Name'];
 $BEmail=$_POST['Billing_Email'];
 $BCard=$_POST['Billing_Card'];
 var_dump($BName); 

$errormessages=array();
$errorcount=0;
 if(isset($_POST) && is_array($_POST) && count($_POST)){ 
  foreach ($_POST as $key=>$value){
   $$key=$value; $$key=trim($$key);
   $$key=strip_tags ($$key); 
   $$key=stripslashes($$key);
   $$key=htmlentities($$key);
   echo "$key $value <br>";
  // echo "is it working"; 
 }
 }
 else { $errormessages[]="Post variable not set"; }

Ответы [ 2 ]

1 голос
/ 07 марта 2012

возможно, вам просто не хватает амперсанда & здесь:

Billing_StreetAddress1 + 'Billing_StreetAddress2='

??

, чтобы увидеть свои ошибки на стороне клиента, используйте консоль разработчика, на стороне серверапросто сбросьте всю переменную $ _POST, чтобы увидеть, что вы получили.

и, наконец, проверьте способ отправки данных:

var dataObj = {
  'Billing_Name' : $('#Billing_Name').val(), 
  'Billing_Email' : $('#Billing_Email').val() 
};

$.ajax({type: "POST", url: "test.php", data: dataObj, success: ...
0 голосов
/ 07 марта 2012

Попробуйте отправить данные в формате JSON, как указано @mindandmedia, возможно, ваша среда не настроена на прием типа контента application/x-www-form-urlencoded

...