我有一个站点,当用户单击更新时,我将需要更新的所有值发送到运行update数据库查询的php页面。我使用Ajax将数据传输到php页面。该更新适用于Chrome和ie浏览器,但不适用于Mozilla。我运行firebug并意识到请求甚至没有发送到服务器,我真的不知道为什么
这是我的Ajax代码
$(function() {
$("#editGameBtn").click(function(){
var gameId = $('#editGameId').val();
var newTime = $('#editTime').val();
var newDate = $('#editDate').val();
var newGround = $('#editGround').val();
var newHomeTeam = $('#editHomeTeam').find(":selected").text();
var newAwayTeam = $('#editAwayTeam').find(":selected").text();
if(gameId === "" || newTime === "" || newDate === "" || newGround === ""|| newHomeTeam === ""|| newAwayTeam === "" )
{
alert("Please Select A game to Edit");
}
else{
$.ajax({
type: "POST",
url: "updateGame.php",
data: { gameId: gameId , newTime: newTime, newDate: newDate, newHomeTeam: newHomeTeam, newAwayTeam: newAwayTeam, newGround: newGround}
}).done(function(msg) {
alert( "Data Saved: " + msg );
});
}
});
});
找到了一种方法来修复它,但不知道错误是什么以及为什么解决方案修复它。希望有人能解释我所做的改变是如何修复错误的。无论如何,所以我所要做的是preventDefault,一切都很好。
下面是代码的工作版本
$(function() {
$("#editGameBtn").click(function(e){
var gameId = $('#editGameId').val();
var newTime = $('#editTime').val();
var newDate = $('#editDate').val();
var newGround = $('#editGround').val();
var newHomeTeam = $('#editHomeTeam').find(":selected").text();
var newAwayTeam = $('#editAwayTeam').find(":selected").text();
e.preventDefault();
if(gameId === "" || newTime === "" || newDate === "" || newGround === ""|| newHomeTeam === ""|| newAwayTeam === "" )
{
alert("Please Select A game to Edit");
}
else{
$.ajax({
type: "POST",
url: "updateGame.php",
data: { gameId: gameId , newTime: newTime, newDate: newDate, newHomeTeam: newHomeTeam, newAwayTeam: newAwayTeam, newGround: newGround}
}).done(function(msg) {
window.location.reload(true);
});
}
});
});