Javascript 使用AJAX将变量传递给PHP并再次获取该变量

Javascript 使用AJAX将变量传递给PHP并再次获取该变量,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我想将值传递给PHP脚本,所以我使用AJAX传递这些值,这部分工作正常。但在同一个函数中,我希望检索传递给PHP脚本的那些值。问题是我无法从PHP文件中检索任何值。我到处寻找,但现在来找你寻求答案。如何存储传递给PHP脚本的变量,以便ajax能够检索它?我的代码如下: 这是我的表格: <!-- file album.php --> <html> <head> <?PHP include ("conection/connect.php

我想将值传递给PHP脚本,所以我使用AJAX传递这些值,这部分工作正常。但在同一个函数中,我希望检索传递给PHP脚本的那些值。问题是我无法从PHP文件中检索任何值。我到处寻找,但现在来找你寻求答案。如何存储传递给PHP脚本的变量,以便ajax能够检索它?我的代码如下:

这是我的表格:

<!-- file album.php -->
<html>
<head>

    <?PHP
      include ("conection/connect.php");
    ?>
    <script type="text/javascript" src="jstbl/jquery-1.3.2.min.js"></script>
    <script type="text/javascript">

        function cekjumlah(tableID)
        {
            var hitung=document.getElementById(tableID).rows.length;
            var jumlah = hitung-1;
            document.getElementById("media").value=jumlah;
        }

    </script>

</head>
<title></title>
<body>

    <form name="form1" id="form1" method="post">
        Jumlah Inputan : 
        <input type="text" id="media" name="media" size="5">
        <input type="text" id="data_barang" name="data_barang" size="60" onKeyPress="onEnterPenjualan(event);">
        <br><br>

        <table id="tabelimei" border="1">
            <tr id="Last">
            </tr>
        </table>
        <br><br>
        <div id="menu">
            <p>
                <input type="submit" name="simpan" value="Simpan" onClick="cekjumlah('tabelimei')">
                <input onClick="deleteRow('DivTambah')" name="button" type="submit" value="Hapus" />
            </p>
            <p id="hasil">hasil</p>
        </div>
    </form>
</body>
</html>

函数cekjumlah(表ID)
{
var hitung=document.getElementById(tableID).rows.length;
var jumlah=hitung-1;
document.getElementById(“媒体”).value=jumlah;
}
Jumlah Inputan:




哈西尔

这是我的jquery:

function onEnterPenjualan(e){// => Digunakan untuk membaca karakter enter
    var key=e.keyCode || e.which;
    if(key==13){// => Karakter enter dikenali sebagai angka 13
        $(function(){
        var data_barang = $("#data_barang").val();
        $.ajax({
            url: "ambildatabarang.php",
            data: "data_barang="+data_barang,
            cache: false,
            success: function(data){
                console.log(data);
                alert(data);  
            }
        });                   
        var nama = alert (data.$nama);
        var baris = document.getElementById("data_barang").value;
        var i = 1;
        var row = $(document.createElement('tr')).attr("id", 'DivTambah' + i);
        row = '<tr>'+
              '<td>1</td>'+
              '<td><input name="cek[0]" id="cek" type="checkbox" size="10" /></td>'+
              '<td><input name="qty_penjualan[0]" type="text" id="qty_penjualan" value="1" size="10" required/></td>'+
              '<td><input type="text" name="imei_penjualan[0]" id="imei_penjualan" size="60" value="'+baris+'" required/></td>'+
              '<td><input type="text" name="nama_penjualan[0]" id="nama_penjualan" size="30" value = "'+nama+'"required/></td>'+
              '<td><input type="text" name="hargajual_penjualan[0]" id="hargajual_penjualan" value="300000" size="15" required/></td>'+
              '<td><input type="text" name="diskon_penjualan[0]" id="diskon_penjualan" size="15" value="0"/></td>'+
              '<td><input type="text" name="total_penjualan[0]" id="total_penjualan" size="15" value="300000" required/></td>'+
              '<td><button type="button" class="del">Del</button></td>'+
              '</tr>';
        $(row).insertBefore("#Last");
        var hapus = "";
        document.getElementById('data_barang').value=hapus;
        document.getElementById('data_barang').value.focus();
        i++;
    });

    $(".del").live('click', function(){
        $(this).parent().parent().remove();
    });

}}
函数的输入(e){/=>输入
var key=e.keyCode | | e.which;
如果(键==13){/=>Karakter,则输入dikenali sebagai angka 13
$(函数(){
var data_barang=$(“#data_barang”).val();
$.ajax({
url:“ambildatabarang.php”,
数据:“data_barang=“+data_barang,
cache:false,
成功:功能(数据){
控制台日志(数据);
警报(数据);
}
});                   
var nama=警报(数据$nama);
var baris=document.getElementById(“数据”)值;
var i=1;
var row=$(document.createElement('tr')).attr('id','DivTambah'+i);
行=“”+
'1'+
''+
''+
''+
''+
''+
''+
''+
“德尔”+
'';
$(行).insertBefore(#Last”);
var hapus=“”;
document.getElementById('data_barang')。value=hapus;
document.getElementById('data_-barang').value.focus();
i++;
});
$(“.del”).live('click',function(){
$(this.parent().parent().remove();
});
}}
这是我的PHP文件:

<?php

if (isset($_GET['data_barang'])){    
      // Instructions if $_POST['value'] exist 
    include ("conection/koneksidb.php");
    $databarang = $_GET['data_barang'];
    $datalengkapbarang = mysql_query("SELECT i.id_imeibarang, jb.nama_jenisbarang, b.type_barang, b.hargajual_barang FROM jenisbarang jb, barang b, imeibarang i WHERE i.id_imeibarang='$databarang' and i.idbarang_imeibarang=b.id_barang and b.idjenis_barang=jb.id_jenisbarang");

    $angka = 1; 
    while($k = mysql_fetch_array($datalengkapbarang)){
        echo $no[$angka] = $angka;
        echo $imei[$angka]=$k['id_imeibarang'];
        echo $nama[$angka]=$k['nama_jenisbarang'].$k['type_barang'];
        echo $harga[$angka]=$k['hargajual_barang'];

        $angka = $angka+1;
    }  
} 
?>

要将一些数据发送到php,并将php文件的结果同步发送到javascript,这就是您所需要的

function sendData (data1,data2)
{
            if (window.XMLHttpRequest)
                AJAX=new XMLHttpRequest(); 
            else
                AJAX=new ActiveXObject("Microsoft.XMLHTTP");
            if (AJAX)
            {
                AJAX.open("POST", "url.php", false);
                AJAX.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
                AJAX.send("data1=" + data1 + "&data2=" + data2);
                return AJAX.responseText;                                         
            } 
            else
                return null;
}
现在,在您的php文件中,您只需获得如下数据

$data1 = $_POST['data1'];
$data2 = $_POST['data2'];
一旦处理php文件中的数据,然后对结果进行
echo
处理,javascript函数将返回结果,因此您只需要在javascript文件中这样使用它

var data_from_php = sendData(data1,data2);

你在这过程中有没有遇到什么错误?“它不工作”很可能不足以帮助您解决问题。Ajax是异步的。在数据从服务器返回之前读取数据!这就是为什么您有成功回调!当返回响应时,需要调用依赖于数据的逻辑。@Samsquanch:我用ajax(ambildatabarang.php)传递值data_barang,以从数据库barang获取数据,它将查询值id_barang、nama_barang、jenis_barang。我想再次从前面的查询中获取这些变量,并在jquery“行”中获取这些变量。示例variabel-nama在行=''+@epascarello:那么,在ajax完成后,如何从数据库中的数据中逐个获取variabel呢?我想在第行中插入这些变量。