AJAX将各种类型的数据从JS发送到PHP

时间:2016-11-26 00:14:19

标签: javascript php jquery ajax

让我们首先看看代码,然后我会解释我发生了什么样的错误。 首先,我的AJAX代码:

    var dlugosc = document.getElementsByClassName('test-full').length; //zliczenie ilości wszyskitch produktów
        var tablica=[]; //zmienna na przechwanie informacji o produktach
        var j=1; //ID produktu w bazie zaczyna się od 1, dlatego w pętli są dwie zmienne odpowiedzialne za przypisywanie ID
        var allsuma=0; //łączna suma wszystkich zamawianych produktów
        var key=0; //index tablicy



         for(var i=0;i<dlugosc;i++)
    {

        var node = document.getElementsByClassName("Amount-return")[i].innerHTML; //pobrabie ilości zamawianych produktów
        var cena = document.getElementsByClassName("Cena-produktu")[i].innerHTML; //pobieranie ceny zamawianych produktów
        if (node!=0){ 
        cena = cena.substring(5); 
        b=parseFloat(node); 
        b2=parseFloat(cena); 
        suma=(b2*b); 
        tablica[key]=[j,b,suma];

        key++;

        allsuma+=suma; 

        }
    j++; 
    }


var jsonString = JSON.stringify(tablica);    


console.log(jsonString);
console.log(tablica);




        var check=confirm("Za Twoje zamówienie zapłacisz: "+allsuma+"zł\nTo jak, zamawiamy? :)");


        if(allsuma==0)
        {
            alert("Nie wybrałeś żadnego produktu, więc niestety twoje zamówienie nie może być zrealizowane :/");
        }
        else
    {
        if(check==true)
        {
            $.ajax({
            type:"POST", 
            url:"http://smietana.mechanikrac.website.pl/cgi-bin/janeta/NEW_order.php", 
            data: {'name':localStorage.name, 'user_id':localStorage.id, 'suma':allsuma, 'tablica': tablica}, 
            cache: false,
            crossDomain: true,


                success:function(data) {

                    if(data=="success")
                    {
                        alert("Dodano zamówienie!");
                    }
                    else if(data=="failed")
                    {
                        alert("Wygląda na to że masz już coś zamówione :)");
                    }


                },


                error: function(data) {
                    console.log(data);

                    alert( "Coś musiało pójść nie tak... sprawdź połączenie z internetem i spróbuj ponownie! :)");

                }

        });

        }

        else
        {
            alert("Nie ma sprawy, zawsze możesz zamówić coś potem! :)");
        }

    }       
        });     

我想做的就是发送给PHP数组和其他一些值,但是我发现这样的错误,我的代码在点击“确认”后就停止了。当我点击“确定”时,甚至没有触发ajax(这就是我的想法)。但是,当我输入我的ajax代码行,如“dataType:”jsonp,“,然后单击”确定“后,我的AJAX触发器会出现错误函数的结果。我真的无法弄清楚:/看看PHP代码也附在下面:

<?php

header('Access-Control-Allow-Origin: *');
 include "database.php";

 $who=$_POST['name'];
 $who_id=$_POST['user_id'];
 $cena=$_POST['suma'];  
 $order_id=69; //generating random IDs in proggress

$data = json_decode(stripslashes($_POST['tablica']));  

// data[i][0] === ID produktu
// data[i][1] === ilość produktów
// data[i][2] === należonść za produkt



$sql_check="SELECT * FROM `Orders_NEW` WHERE `Order_ID`='$order_id'"; 

$check_query=mysqli_query($db,$sql_check); 

$rowcount=mysqli_num_rows($check_query); 

if($rowcount==0)
{

    $dl=sizeof($data); 

    for($i=1;$i<$dl;$i++)

    {
        $product=$data[$i][0];
        $amount=$data[$i][1];
        $price=$data[$i][2];
        $sql="INSERT INTO `Orders_NEW` (`Who`,`Who_ID`,`Product`,`Amount`,`Price`,`Order_ID`) VALUES ('$who','$who_id','$product','$amount','$price','$order_id')";
        mysqli_query($db,$sql);
    }

    $return="success";
}
else
{
    $return="failed";
}

echo ($return);

 ?>

如果可以,请看看,我将不胜感激! :)

0 个答案:

没有答案