gpt4 book ai didi

jquery - $.ajax post 在 Chrome 中工作,但在 Firefox 中不起作用

转载 作者:行者123 更新时间:2023-12-03 22:02:32 28 4
gpt4 key购买 nike

好吧,我就长话短说了。我有一个将值放入数据库的脚本。它在 Chrome、Safari 中运行完美,但无法在 Firefox 或 IE 中运行。似乎数据甚至没有被发布到 .php 文件,并且 ajax 根本没有启动。请问有人吗?

这是我的 jquery 脚本:

$(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;
});
});

这是我的 php 文件中的内容:

$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());

最佳答案

您没有将 event 定义为事件处理程序的参数,因此在

event.preventDefault();

浏览器尝试在全局范围内查找事件。 Chrome 恰好在全局范围内提供事件对象(因此没有错误),但 Firefox 没有(因此错误)。

我建议将 event 参数添加到事件处理程序中:

$("#dodaj").click(function(event){
event.preventDefault();
// ...
});

还有一个额外的区别:如果您没有定义 event 参数,event 将引用 Chrome 中的 native 事件对象,这与 the event object which jQuery passes to the handler 不同.

要了解有关 jQuery 事件处理的更多信息,我建议阅读 these articles .

关于jquery - $.ajax post 在 Chrome 中工作,但在 Firefox 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18274383/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com