Javascript 如何将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请求:

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