我通过ajax将多个复选框值发布到一个php文件,该文件处理发送的数据并更新数据库。 该帖子的工作方式与基于复选框发送的值的数据库更新一样。
我遇到的问题是它没有返回到调用ajax调用的调用php文件。 我必须单击浏览器中的上一个按钮并刷新浏览器页面以查看更新数据库的结果。
复选框的代码。
echo "<form id='assign' method ='post' action='../../assign_engineer_post_code.php'>";
echo "<input type='checkbox' checked name='select-all' id='select_all' />Select All<br/><br/>";
echo "<p style='font-size: 10px; '>";
while($row = mysqli_fetch_assoc($res)){
echo "<input type='checkbox' class='checkbox' name='engineers[]' value='".$row['Engineer_id']."' checked><label for='" .$row['Engineer'] ."'>" .$row['Engineer'] ."</label>";
echo " ";
$counter++;
if ($counter == 8){
//echo "<br/>";
}
}
echo "</p>";
?>
<table><tr>
<td>
<button type="button" onclick="clear_sap_data()">Clear Data</button>
</td>
<td>
<button type="button" onclick="import_sap_data()">Import SAP Data</button>
</td>
<td>
<!-- <input name="confirm" type="button" value="Assign Engineers" onclick="doit();" />
<input id="submit" type="submit" name="submit" value="Submit" onclick="submitForm()" /> -->
<input id="submit" type="submit" name="submit" value="Submit" onclick="submitForm()" />
</td>
</tr>
</table>
</form>
名为submitForm的脚本如下
<script>
function submitForm() {
var form = document.assign;
var dataString = $(form).serialize();
$.ajax({
contentType: false,
processData: false
type:'POST',
url:'../../assign_engineer_post_code.php',
data: dataString,
success: function(data){
window.location.reload(); // This is not jQuery but simple plain ol' JS
}
});
return false;
}
</script>
调用的php文件会执行应该执行的操作,但它不会返回到调用页面,并且不会调用ajax window.location.reload()。
此致
艾伦
答案 0 :(得分:0)
$(document).ready(function () {
function reload() {
$("#content").load("notification.php");
}
setTimeOut(reload, seconds*1000)
}
使用此页面重新加载页面
success: function(data){
if(data.success == true){ // if true (1)
setTimeout(function(){// wait for 5 secs(2)
location.reload(); // then reload the page.(3)
}, 5000);
}
}