Ajax发布到php页面并插入

时间:2016-02-22 12:35:39

标签: php jquery ajax

单击链接时,我希望将该名称发送到php页面并将其放入数据库中。

目前,当点击链接并显示一个名为Object object的弹出窗口时,我收到一条成功消息。

这就是我的链接的外观:

<a onclick="save()" id="1" name="MyName">Button Name</a>

这是我的Jquery:

function save() {
    $.ajax({
        url: "path/to/php",
        data: {
            name: 'name'
        },
        dataType: 'JSON',
        type: 'POST',
        cache: false,
        success: function(succ) {
            alert(succ);
        },
        error: function(err) {
            alert(err);
        }
    });
}

这是我的PHP:

if(isset($_POST['save'])){        
    $Variable1 = $_POST['name'];
    mysqli_query($connection, "INSERT INTO `test`(`valueID`) VALUES ($Variable1)");
}

1 个答案:

答案 0 :(得分:0)

您可以将PHP代码更改为:

if(isset($_POST['name'])){        
    $name = $_POST['name'];
    mysqli_query($conn, "INSERT INTO `test`(`valueID`) VALUES ('$name')");
    if(mysqli_affected_rows($conn) > 0){
        echo json_encode(array('status'=>1));
    }
    else{
        echo json_encode(array('status'=>0));   
    }
}

在您的Ajax成功中:

success: function(response) {
    if(response.status == 1){
        alert('success');
    }
    else{
        alert('failure');   
    }
},
.....

<强>解释

您正在使用响应类型json而不是从PHP文件发送任何内容。 您可以以json_encoded形式从PHP发送状态。

而且你可以在ajax响应中同时获得successfailure状态。

还有一件事,来自你的&amp; @SergeSeredenko 注释,如果valueID是字符串输入,则需要对字符串值使用单引号。

更新1:

您可以<a>使用data-attr获取<a onclick="save()" id="AncharID" data-myID="123" class="btn-large mcqtest">Button Name</a> 的价值:

function save() {
    var id = $("#AncharID").attr("data-myID"); // getting from attr
    $.ajax({
        url: "path/to/php",
        data: {
            name: id
        },
        dataType: 'JSON',
        type: 'POST',
        cache: false,
        success: function(response) {
            if(response.status == 1){
               alert('success');
            }
            else{
               alert('failure');   
            }
        },
        error: function(err) {
            alert(err);
        }
    });
}

在jQuery中,使用:

YOUR_CLASS