我有一个表单,我需要将数据发布到compute.php文件。我必须传递两个选择字段的内容,分别为select_1和select_2。我的Fiire按钮有一个onclick ='go()'调用。
我的脚本代码如下:
function go() {
var sel_1 = document.getElementById('select_1').value;
var sel_2 = document.getElementById('select_2').value;
$.ajax({
type: "POST",
url: "compute.php",
data: "select_1=" + sel_1 + "&select_2=" + sel_2,
dataType: "text",
success: function(data,status)
/* ------------ for debug I have an alert with a response ---- */
{
alert("passed data are: " + data + "\nStatus: " + status);
},
error: function(data,status)
{
alert("passed data are: " + data + "\nStatus: " + status);
}
});
}
在php端,我的compute.php文件具有如下代码:
$selection_1 = $_POST["select_1"];
$selection_2 = $_POST["select_2"];
$sqladd = "INSERT INTO table SET column_1 = '$selection_1', column_2 = '$selection_2';";
if (mysqli_query($conn, $sqladd)) {
$resultadd= mysqli_query($conn, $sqladd);
// ------- then for debug purpose
echo "inserted row with col_1 --->" . $selection_1 . "<--- and col_2 --->" . $selection_2;
} else {
// ------- either, still for debug purpose
echo "not inserted. ";
echo "Error: " . mysqli_error($conn);
}
现在,警告框显示js正确获取了两个选择字段的值,并且我也返回了成功状态,但是我来自compute.php的调试回显显示了selection_1和selection_2的空值],和表行已插入,但在插入的行中表列为空。 Apache日志显示两个注意事项:PHP注意:未定义索引:compute.php中的select_1和PHP注意:未定义索引:compute.php中的select_2。因此,PHP不接收两个POST值。我在做什么错?
我有一个表单,我需要将数据发布到compute.php文件。我必须传递两个选择字段的内容,分别为select_1和select_2。我的Fiire按钮有一个onclick ='go()'调用。我的脚本代码是...
尝试将go函数修改为这样:
function go() {
var sel_1 = $('#select_1').val();
var sel_2 = $('#select_2').val();
$.post("compute.php", {
select_1 : sel_1,
select_2 : sel_2
}, function (answ) {
console.log(answ);
});
}
用go函数的ajax修改数据对象数据:{“ select_1”:sel_1,“ select_2”:sel_2}