Javascript 使用AJAX将变量传递给PHP并再次获取该变量
我想将值传递给PHP脚本,所以我使用AJAX传递这些值,这部分工作正常。但在同一个函数中,我希望检索传递给PHP脚本的那些值。问题是我无法从PHP文件中检索任何值。我到处寻找,但现在来找你寻求答案。如何存储传递给PHP脚本的变量,以便ajax能够检索它?我的代码如下: 这是我的表格: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
<!-- 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呢?我想在第行中插入这些变量。