我有一个php代码,它提供数据库值。我需要javascript变量中的这些值。
Javascript代码
<script src="http://code.jquery.com/jquery-1.8.0.js"></script>
<script type="text/javascript">
function text() {
var textVal=$("#busqueda_de_producto").val();
$.ajax(
{
type:"POST",
url:"index.php", //here goes your php script file where you want to pass value
data: textVal,
success:function(response)
{
// JAVSCRIPT VARIABLE = varable from PHP file.
}
});
return false;
}
</script>
PHP文件代码:
<?php
$q11 = "select * from sp_documentocompra_detalle where dcd_codigo".$_GET['codigo'];
$res11 = mysql_query($q11);
$row11 = mysql_fetch_array($res11);
?>
返回的数据在response
参数中。您必须在PHP中echo
您的数据才能获得结果
使用JSON格式是方便的
因为它的关键价值本质。
使用json_encode将PHP数组转换为json。
echo
json_encoded变量
您将能够通过$.ajax
接收JSON响应数据
JavaScipt/HTML:
<script src="http://code.jquery.com/jquery-1.8.0.js"></script>
<script type="text/javascript">
function text()
{
var textVal=$("#busqueda_de_producto").val();
$.post('index.php', { codigo:textVal }, function(response) {
$('#output').html(response.FIELDNAME);
}, 'json');
return false;
}
</script>
<span id="output"></span>
PHP:
$q11 = "select * from sp_documentocompra_detalle where dcd_codigo='".mysql_escape_string($_POST['codigo'])."'";
$res11 = mysql_query($q11);
$row11 = mysql_fetch_array($res11);
echo json_encode($row11);
您在PHP脚本中没有回显任何内容
尝试将您的PHP更改为:
<?php
$q11 = "select * from sp_documentocompra_detalle where dcd_codigo".$_GET['codigo'];
$res11 = mysql_query($q11);
$row11 = mysql_fetch_array($res11);
echo $row11; //This sends the array to the Ajax call. Make sure to only send what you want.
?>
然后,在Ajax调用中,您可以通过在成功处理程序中写入alert(response)
来提醒这一点。
提示
将数据以URL串行字符串形式发送到服务器:request=foo&bar=4
。如果你喜欢JSON,你也可以试试。
不要使用mysql_*
PHP函数,因为它们已被弃用。尝试搜索PHP数据对象(PDO)。
我看到了很多需要纠正的
ajax中的数据是这样做的data: {'codigo':textVal},
,因为您使用的是$_GET['digo'],这导致了第二次更正,所以您使用了type:"POST"
,所以您还必须访问$_POST变量,而不是$_GET变量,最后,您的ajax目标不会显示/返回任何内容,无论是echo
it还是echo json_encode()
it
最好的解决方案是使用echo json_encode("您的阵列/要使用的值")
然后将javascript代码中的JSON解析为obj=JSON.parse(响应)