$.ajax post funktioniert in Chrome, aber nicht im Firefox
Okay, ich werde kurz sein. Ich habe dieses script, das setzen der Werte in der Datenbank. Es arbeitet perfekt in Chrome, Safari, aber nicht in Firefox oder IE. Es scheint, dass die Daten nicht selbst veröffentlicht werden .php-Datei und ajax startet nicht bei allen. Jemand, bitte?
Dies ist mein jquery script:
$(document).ready(function(){
$("#dodaj").click(function(){
event.preventDefault();
var kategorija = $("#kategorija option:selected").val();
var si = $("#si").val();
var hu = $("#hu").val();
var de = $("#de").val();
var an = $("#an").val();
var hr = $("#hr").val();
$.ajax({
type: "POST",
url: "dodaj_v_bazo.php",
data: {"kategorija": kategorija, "si": si, "hu": hu, "de": de, "an": an, "hr": hr},
success: function(data){
alert( "Jed uspešno dodana."+data);
},
});
return false;
});
});
Dies ist der Inhalt meiner php-Datei:
$kategorija = $_POST['kategorija'];
$si = $_POST['si'];
$hu = $_POST['hu'];
$de = $_POST['de'];
$an = $_POST['an'];
$hr = $_POST['hr'];
$dodaj_v_bazo = "INSERT INTO jedi (kategorija, si, hu, de, an ,hr) VALUES ('$kategorija', '$si', '$hu', '$de', '$an', '$hr')";
mysql_query($dodaj_v_bazo) or die(mysql_error());
InformationsquelleAutor Marko Kavaš | 2013-08-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
Du nicht definieren
event
als parameter der event-handler, daher inbrowser versucht
event
im globalen Bereich. Chrome passiert zu bieten, das event-Objekt im globalen Bereich (daher keine Fehlermeldung), aber Firefox nicht (also ein Fehler).Ich würde vorschlagen, das hinzufügen der
event
parameter für die Ereignisprozedur:Es ist ein weiterer Unterschied: Wenn Sie nicht definieren, die
event
parameterevent
beziehen sich auf die native event-Objekt in Chrome, die ist anders als die das event-Objekt, das von jQuery übergibt der handler.Erfahren Sie mehr über die Ereignisbehandlung mit jQuery, ich empfehle, gehen Sie durch diese Artikel.
Ich bin mit dem gleichen Problem. Es funktioniert in localhost ohne Verwendung
event.preventDefault()
aber in der aws-server, es funktioniert nicht. Irgendeine Idee warum?P. S: es funktionierte, indem Sie hinzufügen, dass. Frage mich, wie seine Arbeit in localhost ohne Zugabe
e.preventDefault()
InformationsquelleAutor Felix Kling
Asynchronen Aufruf funktioniert möglicherweise nicht in FF, wenn Sie es ausgelöst, auf die form der Unterwerfung. Sie können hinzufügen, async:false, um Ihre ajax-Aufruf und es wird funktionieren. Es ist entweder das, oder die Tatsache, dass cross-domain-Aufruf, Sie zu beheben durch CORS.
InformationsquelleAutor Tayyab Ali
Den Firefox fehlt die
$ajax
async-Aufruf wurde behoben, in Firefox v49.0.2 und oben.Der obige code funktioniert, wenn Sie ein upgrade auf Firefox v49.0.2 oder höher.
InformationsquelleAutor Sarthak Srivastava