我使用Google Chrome 7.0.x并且我有以下javascript函数,当用户点击按钮时会调用该函数:
function myFunction(myId) {
$("#" + myId).click(function() {
$.ajax({
type: "POST",
url: "myURL",
success: function(msg){
alert (msg);
}
});
});
alert()永远不会被调用,而是当我锁定控制台时,我得到“无法加载资源”。我做错了什么?
答案 0 :(得分:5)
而不是return false;
,您应该function (e) {
,然后立即执行下一行e.preventDefault();
以停止点击事件的默认操作,并执行您要求它执行的任何操作。这是更好的做法,因为你并不总是希望将false作为值返回。
function myFunction(myId) {
$("#" + myId).click(function(e) {
e.preventDefault();
$.ajax({
type: "POST",
url: "myURL",
success: function(msg){
alert (msg);
}
});
} );
答案 1 :(得分:4)
你在return false
处理程序的末尾忘记了click
,不是吗?
答案 2 :(得分:0)
尝试此操作以查看错误:
function myFunction(myId) {
$("#" + myId).click(function() {
$.ajax({
type: "POST",
url: "myURL",
success: function(msg){
alert (msg);
},
error: function (error, t, msg) {
console.log(error);
console.log(t);
console.log(msg);
}
});
});
也许您的网址错误
答案 3 :(得分:0)
我打赌你的网址错了,请通过Firebug网络面板检查网址,它应该解决问题。
对于上述代码,Chrome不会有任何问题。