0

I have a php code that provides the database values. I need those values in the javascript variable.

Javascript Code

<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 FILE CODE:

<?php
    $q11 = "select * from sp_documentocompra_detalle where dcd_codigo".$_GET['codigo']; 
    $res11 = mysql_query($q11);
    $row11 = mysql_fetch_array($res11);
?>
4

6 回答 6

2

您返回的数据在response参数中。您必须使用echoPHP 中的数据才能获得结果

于 2012-08-30T09:52:35.770 回答
1

使用JSON格式很方便

因为它的键值性质。

使用json_encode将 PHP 数组转换为 JSON。

echojson_encoded 变量

您将能够通过以下方式接收该 JSON 响应数据$.ajax

于 2012-08-30T09:57:04.653 回答
1

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);
于 2012-09-01T16:27:20.020 回答
0

最好的解决方案是使用 echo json_encode("YOUR ARRAY/VALUE TO BE USED");

然后将 javascript 代码中的 JSON 解析为 obj = JSON.parse(response);

于 2012-08-31T09:07:50.157 回答
0

我看到很多需要纠正的事情

ajax 中的数据是这样做的,data: {'codigo':textVal},因为您使用的是 $_GET['codigo'],这会导致第二次更正,type:"POST"因此您还必须访问 $_POST 变量而不是 $_GET 变量,最后是你的 ajax 不显示/返回任何你echo它或echo json_encode()它的东西

于 2012-08-30T10:01:42.203 回答
0

您没有在 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)。

于 2012-08-30T09:57:17.200 回答