单击 link 时如何在 ajax 中使用回调函数
How to use callback function in ajax when clicking on a link
我在单击 link 时使用 jquery ajax,但我想从 link 传递一个使用定义的函数名称,这样当我从ajax 它应该回调我传递的函数。我正在使用这个
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
<script type="text/javascript">
var call_me = function(data){
alert(data);
};
var getmsg = function (val,callback) {
// alert(val+call_me);
$.ajax({
url : "send.php",
type : "post",
data : {value:val},
success : callback
})
}
</script>
<a href="#" onclick="getmsg($(this).html(),'call_me');">wewewe</a>
函数只是 javascript 中的另一个对象,因此不是传递函数名称,而是传递函数本身:
<a href="#" onclick="getmsg($(this).html(), call_me);">wewewe</a>
var getmsg = function (val,callback) {
$.ajax({
url : "send.php",
type : "post",
data : {value:val},
success : callback
});
}
"call_me"
在问题 js
作为字符串传递,尝试将函数名称传递给 getmsg
function call_me(data){alert(data)}
onclick="getmsg($(this).html(), call_me);"
或者,
$("a[href=#]").click(function() {
getmsg(this.innerHTML, call_me)
})
我发现在 html 中混合内联 javascript 与 jQuery 是一个非常糟糕的主意。您可以通过正确使用库并保持 html 完整
来实现相同的行为
<a href="#" class="the-link-element">wewewe</a>
$("a.the-link-element").on("click", function(e){
// or .html()/.innerHtml() is not clear what you want
getmsg($(e.target).text(), call_me);
});
var call_me = function(data){
alert(data);
};
var getmsg = function (val,callback) {
// alert(val+call_me);
$.ajax({
url : "send.php",
type : "post",
data : {value:val},
success : callback
})
}
我在单击 link 时使用 jquery ajax,但我想从 link 传递一个使用定义的函数名称,这样当我从ajax 它应该回调我传递的函数。我正在使用这个
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
<script type="text/javascript">
var call_me = function(data){
alert(data);
};
var getmsg = function (val,callback) {
// alert(val+call_me);
$.ajax({
url : "send.php",
type : "post",
data : {value:val},
success : callback
})
}
</script>
<a href="#" onclick="getmsg($(this).html(),'call_me');">wewewe</a>
函数只是 javascript 中的另一个对象,因此不是传递函数名称,而是传递函数本身:
<a href="#" onclick="getmsg($(this).html(), call_me);">wewewe</a>
var getmsg = function (val,callback) {
$.ajax({
url : "send.php",
type : "post",
data : {value:val},
success : callback
});
}
"call_me"
在问题 js
作为字符串传递,尝试将函数名称传递给 getmsg
function call_me(data){alert(data)}
onclick="getmsg($(this).html(), call_me);"
或者,
$("a[href=#]").click(function() {
getmsg(this.innerHTML, call_me)
})
我发现在 html 中混合内联 javascript 与 jQuery 是一个非常糟糕的主意。您可以通过正确使用库并保持 html 完整
来实现相同的行为<a href="#" class="the-link-element">wewewe</a>
$("a.the-link-element").on("click", function(e){
// or .html()/.innerHtml() is not clear what you want
getmsg($(e.target).text(), call_me);
});
var call_me = function(data){
alert(data);
};
var getmsg = function (val,callback) {
// alert(val+call_me);
$.ajax({
url : "send.php",
type : "post",
data : {value:val},
success : callback
})
}