Javascript 如何将ajax请求放入函数中,并在必要时调用它?
我有一个ajax请求:Javascript 如何将ajax请求放入函数中,并在必要时调用它?,javascript,jquery,ajax,Javascript,Jquery,Ajax,我有一个ajax请求: $.ajax({ type: 'POST', url: '/get-result.php', dataType: 'json', data: 'pid=' + $(this).attr("id"), success: function(response) { $(".reviewee-fname").append(response['fname']); $(".reviewee-lname").append(response['lname']); } })
$.ajax({
type: 'POST',
url: '/get-result.php',
dataType: 'json',
data: 'pid=' + $(this).attr("id"),
success: function(response) {
$(".reviewee-fname").append(response['fname']);
$(".reviewee-lname").append(response['lname']);
} }); };
我希望能够将其放入一个函数中,该函数等待我通过返回调用触发它。我不太清楚如何使用它,我对javascript和jquery还不熟悉。但基本上,我想通过各种不同的按钮点击触发这个ajax调用,而不是将ajax调用放在每个按钮点击事件中,我想将它放在一个独立的函数中,这样如果我以后更新它,我就不必更改它5次。下面是一个click事件Id的示例,它可以调用ajax请求函数。谢谢
$(function() {
$(".task-listing").click(function() {
//Call Ajax function here.
});
});
这对你不管用吗?↓↓
$(function() {
$(".task-listing").click(function() {
let pid = $(this).attr("id"); //get any other value which you want to pass in function, say url
someFunction(pid); // pass any other parameters, eg- someFunction(pid, url)
});
});
function someFunction(pid){ // someFunction(pid, url)
$.ajax({
type: 'POST',
url: '/get-result.php', // url: url
dataType: 'json',
data: 'pid=' + pid,
success: function(response) {
$(".reviewee-fname").append(response['fname']);
$(".reviewee-lname").append(response['lname']);
}
});
}
这对你不管用吗?↓↓
$(function() {
$(".task-listing").click(function() {
let pid = $(this).attr("id"); //get any other value which you want to pass in function, say url
someFunction(pid); // pass any other parameters, eg- someFunction(pid, url)
});
});
function someFunction(pid){ // someFunction(pid, url)
$.ajax({
type: 'POST',
url: '/get-result.php', // url: url
dataType: 'json',
data: 'pid=' + pid,
success: function(response) {
$(".reviewee-fname").append(response['fname']);
$(".reviewee-lname").append(response['lname']);
}
});
}
非常适合这种情况。您可以将ajax调用封装在回调函数中
function apiCall() {
$.ajax({
type: 'POST',
url: '/get-result.php',
dataType: 'json',
data: 'pid=' + $(this).attr("id"),
success: function(response) {
$(".reviewee-fname").append(response['fname']);
$(".reviewee-lname").append(response['lname']);
} }); };
}
您现在可以将apiCall()
方法作为对按钮单击的回调
$(function() {
$(".task-listing").click(apiCall);
});
通过这样做,您将能够实现这一目标
我想把它放在一个独立的功能,所以如果我以后更新它,我不必改变它5次
编辑:
注意:
这是lead to start,您可以根据自己的需求进行更改。非常适合此场景。您可以将ajax调用封装在回调函数中
function apiCall() {
$.ajax({
type: 'POST',
url: '/get-result.php',
dataType: 'json',
data: 'pid=' + $(this).attr("id"),
success: function(response) {
$(".reviewee-fname").append(response['fname']);
$(".reviewee-lname").append(response['lname']);
} }); };
}
您现在可以将apiCall()
方法作为对按钮单击的回调
$(function() {
$(".task-listing").click(apiCall);
});
通过这样做,您将能够实现这一目标
我想把它放在一个独立的功能,所以如果我以后更新它,我不必改变它5次
编辑:
注意:
这是一个开始,您可以根据您的要求更改它。为什么不将代码放在回调中?
函数runAjax(){..您的代码..}
然后$(.class”)。单击(runAjax)
或$(.class”)。单击(函数(){runAjax();})
当页面加载时,是否有方法阻止它运行?如果它位于函数functionName(){}
中,则在您调用它之前,它不会运行。我知道你说你不熟悉javascript,但是函数是任何编程语言的一个非常基本的组成部分-在问这个问题之前,你可能想搜索一些初学者指南。为什么不把代码放在回调中?function runAjax(){..your code..}
then$(.class”)。单击(runAjax)
或$(.class”)。单击(function(){runAjax();})
有没有办法防止它在页面加载时运行?如果它在函数functionName(){}
中,那么它将在您调用它之前不会运行。我知道你说你不熟悉javascript,但是函数是任何编程语言的基本组成部分-在这里提问之前,你可能想搜索一些初学者指南。谢谢你,如果我总是想在单击下面包含其他事件,我可以添加它们吗?或者我也需要.click(function()
吗?无论您想在哪里使用该ajax调用,都可以将apiCall
作为回调传递给该事件侦听器。无需使用。click(function()
谢谢,如果我总是想在click下面包含其他事件,我可以添加它们吗?还是需要单击(function())
?无论您在哪里使用ajax调用,都可以将apiCall
作为回调传递给该事件侦听器。无需使用。单击(function()