Ajax 表单序列化数据

Ajax form serialized data

本文关键字:数据 序列化 表单 Ajax      更新时间:2023-09-26

我在ajax中有以下函数:

    function update_row(ID,CODE,NAME,PRICE){
                $.ajax({
                url: "update-record.php",
                data: "ID="+ID,
                date: "CODE="+CODE,
                data: "NAME="+NAME,
                data: "PRICE="+PRICE,
                type: "post",
                success: function(result){
                    $('#prod2_'+ID).hide();
                }
            });         
    }

这应该调用"更新记录.php",如下所示:

<?php
include "config.php";
$product_id = $_POST['ID'];
$product_code = $_POST['CODE'];
$product_name = $_POST['NAME'];
$product_price = $_POST['PRICE'];
$sql = mysql_query("UPDATE `products` SET `code`=$product_code,`name`=$product_name,`price`=$product_price WHERE 'id'=$product_id");
echo json_encode('Record deleted');
?>

这就是我用来称呼 ajax 函数的屁股:

'<div><input id=prod2_"'.$row['ID'].'" type=button name="click3" onclick="update_row('.$row['ID'].','.$row['code'].','.$row['name'].','.$row['price'].')" value="Hide"></div>';

此按钮应更新数据库记录,并隐藏我发布数据的"表单"。不幸的是,它什么也没做。

有什么建议如何解决问题吗?感谢您的帮助!

更改此内容

'<div><input id="prod2_'.$row['ID'].'" type="button" name="click3" onclick="update_row('''.$row['ID'].''','''.$row['code'].''','''.$row['name'].''','''.$row['price'].''')" hidden="yes"></div>';

并改变这一点

你需要连接 mysql 服务器

$dbhost = 'localhost:3036';
$dbuser = 'root';
$dbpass = 'rootpassword';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);

并连接到查询

mysql_query($conn,"UPDATE products SET code='$product_code',name='$product_name',price='$product_price' WHERE id='$product_id'");

并改变这一点

function update_row(ID,CODE,NAME,PRICE){
                var dataString = 'ID='+ ID + '&CODE=' + CODE + '&NAME=' + NAME + '&PRICE=' + PRICE;
                $.ajax({
                url: "rt.php",//Your php page code this is my test code
                data: dataString,
                type: "post",
                success: function(result){
                    $('#prod2_'+ID).hide();
                }
            });         
    }

你的 ajax 数据对象是错误的。请尝试以下操作:

function update_row(ID, CODE, NAME, PRICE) {
    $.ajax({
        url: "update-record.php",
        data: "ID=" + ID+"&CODE=" + CODE+"&NAME=" + NAME + "&PRICE=" + PRICE,
        type: "post",
        success: function(result) {
            $('#prod2_' + ID).hide();
        }
    });
}
<link rel="stylesheet" type="text/css" href="css.css">
<html>
    <head>
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.2/jquery.min.js"></script>
        <meta charset="UTF-8">
        <script>
        function delete_row(ID){
                    $.ajax({
                    url: "remove-record.php",
                    data: "ID="+ID,
                    type: "post",
                    success: function(result){
                        $('#prod_'+ID).remove();
                    }
                });         
        }
        function show_row(ID){
                    $.ajax({
                    data: "ID="+ID,
                    type: "post",
                    success: function(result){
                        $('#prod2_'+ID).show();
                    }
                });         
        }

        function update_row(ID,CODE,NAME,PRICE){
                    var dataString = 'ID='+ ID + '&CODE=' + CODE + '&NAME=' + NAME + '&PRICE=' + PRICE;
                    $.ajax({
                    url: "update-record.php",
                    data: dataString,
                    type: "post",
                    success: function(result){
                    $('#prod2_'+ID).hide();
                    }
                });         
        }
        </script>
        <title></title>
    </head>
    <body>    
    <div class="tittle"><b>Delete product</b></div>
    <?php include "menu.html"; ?>
    <div style = "margin:30px" align = "center">
            <form action="deleteproduct.php" method="post" >
            <fieldset>
                <?php
                    include 'config.php';
                    $aktiv=$_COOKIE['account_id'];
                    echo "<ul id='productlist'>
                    <li>
                    <div>Code</div>
                    <div>Name</div>
                    <div>Price</div>
                    </li>";
                    $sql = "SELECT * FROM products where updated_account_ID='$aktiv' order by ID";
                    $result = mysql_query($sql);
                    while ($row = mysql_fetch_array($result)) {
                        echo "<li id=prod_".$row['ID'].">";
                        echo '<div>' . $row['code'] . '</div>';
                        echo '<div>' . $row['name'] . '</div>';
                        echo '<div>' . $row['price'] . '</div>';
                        echo '<div><input type=button name="click" onclick="delete_row('.$row['ID'].')" value="Delete"></div>';
                        echo '<div><input type=button name="click2" onclick="show_row('.$row['ID'].')" value="Update"></div>';
                        echo "<li hidden id=prod2_".$row['ID'].">";
                        echo '<div><input type="text" value="'.$row['code'].'"</div>';
                        echo '<div><input type="text" value="'.$row['name'].'"</div>';
                        echo '<div><input type="text" value="'.$row['price'].'"</div>';
                        echo '<div><input  type="button" name="click3" onclick="update_row('''.$row['ID'].''','''.$row['code'].''','''.$row['name'].''','''.$row['price'].''')" value="Save"></div>';
                        echo '</li>';
                        echo '</li>';
                    }
                    echo "</ul>";
                ?>
            </fieldset>
    </form>
    </div>
    </body>
</html>