jquery& ajax响应获取php脚本的值

时间:2016-10-11 14:46:46

标签: javascript php jquery ajax

我开始使用jquery和Ajax函数。

我创建了一个包含多行的表的网站,这些行是使用php从数据库加载的。现在当我点击编辑按钮时显示这个字段的信息。为了得到它,我已经阅读了最好的方法是使用ajax。

在这个jquery代码中,这个想法是循环每个单元格,当单元格是codigo时,每个单元都退出循环,并在ajax函数的post方法中设置该值。

我的代码:

        $('#edit').on('show.bs.modal', function (event) {

            var $button = $(event.relatedTarget) // Button that triggered the modal
            var row = $button.closest("tr"), // edit button is in the same row as data you want to change
            $tds = row.find("td"); // get all table cells in that row
            var cod;

            $.each($tds, function(index,value) {

                var field = $(this).data("field");

                if (field == 'codigo'){
                    cod = $(this).text();
                    return false;   
                }
            });

            alert(cod);

            $.ajax({ 
                method: 'POST',
                dataType: 'json',
                url: 'queryProduct.php',
                data: {codigo: cod}

            }).done(function(response){
                response = JSON.parse(response);

                // Here get the values of the JSON      

            });

            var src_value = $tds.closest("td").find('img').attr('src');         // Get attrib src de img and set to a modal window element
            $('[name="imagen"]').attr("src",src_value);

        });

queryProduct.php

<?php   
        session_start();

        if(isset($_SESSION['username']) and $_SESSION['username'] <> ''){

                include("functions.php"); 
                include("tools.php"); 

                $conn = Conectarse("localhost", "5432", "dbname", "dbuser", "dbpass");  

                $codigo = $_POST['codigo'];

                echo $codigo;

                $query = "SELECT * FROM produccion.ma_producto WHERE codigo={$codigo}"; 

                $result = pg_query($conn, $query);  

                if ($result == TRUE) {
                    echo json_encode($result);
                } else {
                    echo "Error query: " . $conn->error;
                }

                $conn->close();

        } else{
            ?><p>La sesión no está activa, por favor ingrese <a href="login.php">aquí</a></p>
<?php   
        }?>

问题是来自开发者控制台在queryProduct.php中显示错误消息我不确定问题是将代码变量发送到方法帖子:(

显示来自开发者控制台的错误消息:

enter image description here

enter image description here

enter image description here

enter image description here

2 个答案:

答案 0 :(得分:0)

将您的数据更改为:

 data: {codigo: cod}. // since your cod is already a variable

答案 1 :(得分:0)

问题在于php的pg命令。

通常我使用的是mysql数据库,在我的代码中是一个mysql命令。

现在它正在工作:

            if (!$result) {
                echo "Error query: " . pg_last_error($conn);
            } else {
                echo json_encode($result);
            }

            pg_close($conn);