我正在尝试将表单值“New Value”从jQuery传递到PHP脚本,然后将“to_change”div从“Old value”更新为“New value”。似乎AJAX调用成功,但POST变量没有发送到PHP脚本,当我使用getJSON时,我没有成功。我怎么能解决这个问题?
Javascript / HTML code:
<html>
<head>
<script src = 'jquery-1.10.2.js'></script>
<script>
$(document).ready(function() {
$("#form_tmin").submit(function(event) {
var values = $(this).serialize();
$.ajax({
type: "POST",
url: "parameters_form2.php",
data: values,
dataType: "json",
success: function(data){
$.getJSON("parameters_form2.php", function(tmin) {
document.getElementById("to_change").innerHTML = tmin[1];
});
}
});
return false;
});
});
</script>
</head>
<body>
<div id="to_change">Old value</div>
<form id="form_tmin" name="form_tmin">
<input type="hidden" id="tmin_value" name="tmin_value" value="New value">
<input type="submit" name="submit" value="submit">
</form>
</body>
</html>
PHP代码:
<?php
header('Content-Type: application/json');
if ($_POST["tmin_value"]) {
$tmin[1] = $_REQUEST["tmin_value"];
}
else {
$tmin[1] = "FAILURE";
}
echo json_encode($tmin);
?>
答案 0 :(得分:0)
您已经在数据中拥有json响应,只需将此数据设置在您想要显示的位置即可。你再也不需要$.getJSON
了。
尝试这样:
$(document).ready(function() {
$("#form_tmin").submit(function(event) {
var values = $(this).serialize();
$.ajax({
type: "POST",
url: "parameters_form2.php",
data: values,
dataType: "json",
success: function(data){
document.getElementById("to_change").innerHTML = data[1];
}
});
return false;
});
});
答案 1 :(得分:0)
您已经有了查询响应,无需再次使用$.getJson
而只是使用:
success: function(data){
$("to_change").html(data[1]);
}