结合Jquery和Javascript函数

时间:2013-12-07 16:32:16

标签: javascript jquery

这是一个相对新手的问题。我有以下jQuery函数:

$(function () 
  {
    $.ajax({                                      
      url: 'testapi.php',       
      data: "query="+queryType,
      dataType: 'json', 
      success: function(data) 
      {
        var id = data[0];
        $('#'+divID).html(id); 
      }
    });
  }); 

我正在寻找命名和参数化函数,以便我可以重复调用它(使用已包含在代码中的参数queryType和divID)。我多次尝试失败了。有人有任何见解吗?

4 个答案:

答案 0 :(得分:2)

将它贴在一个函数中

function doAjax(queryType, divID) {
    return $.ajax({                                      
        url: 'testapi.php',       
        data: {query : queryType},
        dataType: 'json'
    }).done(function(data) {
        var id = data[0];
        $('#'+divID).html(id);
    });
}

并使用它

$(function() {
    element.on('click', function() {
        var id = this.id
        doAjax('get_content', id);
    }); 
});

$(function() {
    element.on('click', function() {
        var id = this.id
        doAjax('get_content', id).done(function(data) {
              // do something more with the returned data
        });
    }); 
});

答案 1 :(得分:0)

如果您只是想要一个简单的函数来包装ajax调用,请尝试一下。将此功能放在文档就绪代码上方。

function callAjax(queryType, divID) {
    $.ajax({                                      
        url: 'testapi.php',       
        data: "query="+queryType,
        dataType: 'json', 
        success: function(data) {
            var id = data[0];
            $('#'+divID).html(id); 
        }
    });
}

要调用该函数,请执行以下操作:

callAjax('YourQueryHere', 'YourDivIdHere');

答案 2 :(得分:0)

function doThis(queryType, divID)
{
    $.ajax({                                      
      url: 'testapi.php',       
      data: "query="+queryType,
      dataType: 'json', 
      success: function(data) 
      {
        var id = data[0];
        $('#'+divID).html(id); 
      }
    });
}

答案 3 :(得分:0)

function myFunction(queryType, divID) 
{
  $.ajax({                                      
    url: 'testapi.php',       
    data: "query="+queryType,
    dataType: 'json', 
    success: function(data) 
      {
        var id = data[0];
        $('#'+divID).html(id); 
      }
  });
}

并调用它只需使用

myFunction("someQueryType", "myDiv");