选择2个不同的选项值并使用ajax将数据发送到php
我从选择2个不同的选项值并使用ajax将数据发送到php,php,jquery,ajax,Php,Jquery,Ajax,我从selectoptions中获取两个不同的值,并使用AJAX发送,但PHP没有响应请求 这是我的jQuery代码: $(document).ready(function() { $("#updateStatus").change(function() { var opt = $("#updateStatus").val(); $("#updateStatus1").change(function() { var sta = $("#updateStatus1
select
options中获取两个不同的值,并使用AJAX发送,但PHP没有响应请求
这是我的jQuery代码:
$(document).ready(function() {
$("#updateStatus").change(function() {
var opt = $("#updateStatus").val();
$("#updateStatus1").change(function() {
var sta = $("#updateStatus1").val();
$.ajax({
url: 'updatecode.php',
type: 'POST',
data: "option=" + opt + "&status=" + sta,
dataType: 'json',
success: function(data) {
alert(data + "hello");
}
});
});
});
});
这是我的PHP代码:
$id = $_POST['opt'];
$status = $_POST['sta'];
$query = "UPDATE projectstable SET projectStatus='".$status."'WHERE id='".$id."'";
$result = mysql_query($query);
$row = mysql_fetch_array($result);
if (!$row) {
echo json_encode("fail");
} else {
echo json_encode("sucess");
}
您的代码应该是这样的
$(document).ready(function () {
$("#updateStatus,#updateStatus1").change(function () {
var opt = $("#updateStatus").val();
var sta = $("#updateStatus1").val();
$.ajax({
url: 'updatecode.php',
type: 'POST',
data: {option:opt,status:sta},
dataType: 'json',
success: function (data) {
alert(data + "hello");
}
});
});
})
php代码应该是这样的
$id = $_POST['option'];
$status = $_POST['status'];
$query = "UPDATE projectstable SET projectStatus='".$status."'WHERE id='".$id."'";
$result = mysql_query($query);
$row = mysql_fetch_array($result);
if (!$row) {
echo json_encode("fail");
} else {
echo json_encode("sucess");
}
$(document).ready(function() {
var opt = '';
var sta = '';
$("#updateStatus").change(function() {
opt = $("#updateStatus").val();
});
$("#updateStatus1").change(function() {
sta = $("#updateStatus1").val();
callAjax(opt,sta);
});
});
function callAjax(opt,sta) {
$.ajax({
url: 'updatecode.php',
type: 'POST',
data: "opt=" + opt + "&sta=" + sta,
dataType: 'json',
success: function(data) {
alert(data + "hello");
}
});
}
像这样替换现有的ajax函数
$id = $_POST['option'];
$status = $_POST['status'];
$query = "UPDATE projectstable SET projectStatus='".$status."'WHERE id='".$id."'";
$result = mysql_query($query);
$row = mysql_fetch_array($result);
if (!$row) {
echo json_encode("fail");
} else {
echo json_encode("sucess");
}
$(document).ready(function() {
var opt = '';
var sta = '';
$("#updateStatus").change(function() {
opt = $("#updateStatus").val();
});
$("#updateStatus1").change(function() {
sta = $("#updateStatus1").val();
callAjax(opt,sta);
});
});
function callAjax(opt,sta) {
$.ajax({
url: 'updatecode.php',
type: 'POST',
data: "opt=" + opt + "&sta=" + sta,
dataType: 'json',
success: function(data) {
alert(data + "hello");
}
});
}
您将json正文作为查询字符串传递,并声明使用
数据类型:“json”
相反,你应该这样做:
$.ajax({
url: 'updatecode.php',
type: 'POST',
data: {"option": opt, "status": sta},
dataType: 'json',
success: function(data) {
alert(data + "hello");
}
});
您使用“option=”和“&status=”在数据下发送请求,但您在PHP中通过$\u POST['opt']和$\u POST['stat']读取这些值,这两个值实际上应该分别是$\u POST['option']和$\u POST['status']。
此外,您还需要将数据请求更改为JSON格式,如data:{option:opt,status:sta},因为您的数据类型是JSON谢谢大家,看起来我刚刚在ajax中更改了一些代码。这是我的新代码,运行良好 这是我的PHP代码,我去掉了if(!$row) 否则{ echo json_编码(“成功”) }
这是我的ajax
$.ajax({
url: 'updatecode.php',
type: 'POST',
data: {opt:opt,sta:sta},
dataType: 'json',
success: function(data) {
alert(data + "hello");
}
})) 到底是什么不起作用?您是否尝试过
console.log(opt)
和console.log(sta)
。不,我会试试看。console没有显示任何错误ajax向php发送数据,但没有收到任何错误。您需要更改此$id=$\u POST['option'$状态=$_POST['status'];检查下面的答案..尝试通过在ajax请求中添加error:function(xhr,textStatus,errorwhold){console.log(errorwhold);}来获取错误,成功后函数运行正常,但必须更改“data:{opt:opt,sta:sta}”@Parvez现在检查我的答案,我只是编辑它。如果对你有帮助,请接受。。这对我也有帮助。:)