Javascript 是否可以将Ajax调用存储为对象?

Javascript 是否可以将Ajax调用存储为对象?,javascript,jquery,ajax,Javascript,Jquery,Ajax,这不一定是一个“如何”的问题,而是一个帮助我提高自己对JavaScript和Jquery理解的问题。我最近在当前的工作中经常使用Jquery,我所有的Jquery都涉及很多AJAX调用。在几个文件中,我至少有6个针对不同情况的ajax调用,我想知道是否有一种更有效的方法可以通过构建代码来实现这一点。我的一位不编写代码的同事建议将AJAX调用转换为属性并传递参数。这可能吗?如果没有,是否有更好更简单的方法在一个文件中处理多个AJAX调用 谢谢你的意见,我希望能从中学到很多东西 下面是一个AJAX调

这不一定是一个“如何”的问题,而是一个帮助我提高自己对JavaScript和Jquery理解的问题。我最近在当前的工作中经常使用Jquery,我所有的Jquery都涉及很多AJAX调用。在几个文件中,我至少有6个针对不同情况的ajax调用,我想知道是否有一种更有效的方法可以通过构建代码来实现这一点。我的一位不编写代码的同事建议将AJAX调用转换为属性并传递参数。这可能吗?如果没有,是否有更好更简单的方法在一个文件中处理多个AJAX调用

谢谢你的意见,我希望能从中学到很多东西

下面是一个AJAX调用的示例

$.ajax({
      type: 'POST',
      url: '',
      data: {
        method: 'custCodeData',
        custCode: $('#custCode').val()
      },
      dataType: 'JSON',
      success: function (data) {
        var array = data.DATA;
        $("#response tr:not(:first)").remove();
        for (var i = 0; i < array.length; i++) {
          var newRow = table.insertRow();
          for (var j = 0; j < array[i].length; j++) {
            if (j < 7) {
              var cell = newRow.insertCell(j);
              cell.innerHTML = array[i][j];
            }

            if (j === 0) {
              if (array[i][0] == false) {
                cell.innerHTML = "No";
              }
              if (array[i][0] == true) {
                cell.innerHTML = "Yes";
              }
            }

            if (j === 2) {
              if (array[i][8] == false) {
                cell.innerHTML = `<a href='/buying/quicklink/index.cfm?Passed_CustomerID=${array[i][7]}'>${array[i][2]}     </a><i class="fa fa-arrow-down" aria-hidden="true" ONMOUSEOVER="return overlib('Incomming Customer', FGCOLOR, 'FFFFCC',  BORDER, 2, BGCOLOR, '000000', TEXTFONTCLASS, 'RollOver', WRAP);" ONMOUSEOUT="nd();"></i>`
              } else if (array[i][8] = true) {
                cell.innerHTML = `<a href='/buying/quicklink/index.cfm?Passed_CustomerID=${array[i][7]}'>${array[i][2]}         </a><i class="fa fa-arrow-up" aria-hidden="true" ONMOUSEOVER="return overlib('Outgoing Customer', FGCOLOR, 'FFFFCC',  BORDER, 2, BGCOLOR, '000000', TEXTFONTCLASS, 'RollOver', WRAP);" ONMOUSEOUT="nd();"></i>`
              }
            }
          }
        }
        $("#response tr:contains(Yes)").css({"background-color": "#ff0000", "color": "#FFF"});
      }
    })
$.ajax({
键入:“POST”,
url:“”,
数据:{
方法:“custCodeData”,
客户代码:$('#客户代码').val()
},
数据类型:“JSON”,
成功:功能(数据){
var数组=data.data;
$(“#response tr:not(:first)”).remove();
对于(var i=0;i
函数完成SameExactAjaxthingAgain(方法){
$.ajax({
键入:“POST”,
url:“”,
数据:{
方法:方法,/
函数doTheSameExactAJAXThingAgain(方法){
$.ajax({
键入:“POST”,
url:“”,
数据:{

方法:方法,//FYI:一个巨大的段落很难阅读。因此,创建一个函数,并用需要更改的代码部分传入参数……真的不清楚您希望从中得到什么。创建相同的部分,并对不同的部分使用变量。在这种情况下,将整个AJAX内容填充到一个函数中,然后调用
doTheSameexactajaxthinngagain()
当您需要它时。很好,这只是函数的一个参数
顺便说一句,你可能会看到与我们刚才讨论的内容相关的干涸代码或湿代码的引用。仅供参考:一个巨大的段落很难阅读。因此,制作一个函数,并用需要更改的代码部分传入参数……真的不清楚你期望从中得到什么。制作相同的部分,并为部分使用变量这是不同的。在这种情况下,将整个AJAX内容填充到一个函数中,并在需要时调用
doTheSameExactAJAXThingAgain()
。好的,这只是函数
doTheSameExactAJAXThingAgain('custCodeData')的一个参数
顺便说一句,您可能会看到与我们刚才讨论的内容相关的干涸代码或湿代码的引用。
function doTheSameExactAJAXThingAgain(method){
    $.ajax({
      type: 'POST',
      url: '',
      data: {
        method: method,//<- METHOD here
        custCode: $('#custCode').val()
      },
      dataType: 'JSON',
      //...etc
}

doTheSameExactAJAXThingAgain('custCodeData');
doTheSameExactAJAXThingAgain('compNameData');
//etc.