单击链接时,我希望将该名称发送到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)");
}
答案 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响应中同时获得success
或failure
状态。
还有一件事,来自你的&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