Javascript Ajax使用函数或数组发布不同的数据

Javascript Ajax使用函数或数组发布不同的数据,javascript,jquery,ajax,Javascript,Jquery,Ajax,实际上,我正在寻找一种更好的方法,为多个用户使用ajax向php提交数据。请看我的密码 $(document).ready(function(){ $("#all").click(function(){ document.getElementById('babon').click(); document.getElementById('af').click(); document.getElementById('anik').click(); document

实际上,我正在寻找一种更好的方法,为多个用户使用ajax向php提交数据。请看我的密码

$(document).ready(function(){
  $("#all").click(function(){
    document.getElementById('babon').click();
    document.getElementById('af').click();
    document.getElementById('anik').click();
    document.getElementById('abir').click();
    document.getElementById('aurko').click();
  });

  $("#babon").click(function(){
    var code = $('#rcode').val();
    $('span.babon').text("Sending..");
    $.post("redeem.php", //Required URL of the page on server
           {"redeemcode":code,"gameid":"4548211","vcode":"87856"},
           function(response,status){ // Required Callback Function
      var result = jQuery.parseJSON( response );
      $('span.babon').text(result.message);
    });
  });

  $("#anik").click(function(){
    var code = $('#rcode').val();
    $('span.anik').text("Sending..");
    $.post("redeem.php", //Required URL of the page on server
           {"redeemcode":code,"gameid":"54489231","vcode":"56465"},
           function(response,status){ // Required Callback Function
      var result = jQuery.parseJSON( response );
      $('span.anik').text(result.message);
    });
  });

  $("#abir").click(function(){
    var code = $('#rcode').val();
    $('span.abir').text("Sending..");
    $.post("redeem.php", //Required URL of the page on server
           {"redeemcode":code,"gameid":"8798456","vcode":"78542"},
           function(response,status){ // Required Callback Function
      var result = jQuery.parseJSON( response );
      $('span.abir').text(result.message);
    });
  });

  $("#aurko").click(function(){
    var code = $('#rcode').val();
    $('span.aurko').text("Sending..");
    $.post("redeem.php", //Required URL of the page on server
           {"redeemcode":code,"gameid":"548745612","vcode":"24875"},
           function(response,status){ // Required Callback Function
      var result = jQuery.parseJSON( response );
      $('span.aurko').text(result.message);
    });
  });

  $("#af").click(function(){
    var code = $('#rcode').val();
    $('span.af').text("Sending..");
    $.post("redeem.php", //Required URL of the page on server
           {"redeemcode":code,"gameid":"9887254","vcode":"82499"},
           function(response,status){ // Required Callback Function
      var result = jQuery.parseJSON( response );
      $('span.af').text(result.message);
    });
  });
});

请参见屏幕截图中的输出。。


我使用不同的ajax函数向php提交数据。有没有办法从数组中提交数据?所以代码看起来会更简短、更美观?

只需编写一个可重用函数:

var sendingfunction = function(selector, gameid, vcode){
    var code = $('#rcode').val();
    $('span.'+selector).text("Sending..");
    $.post("redeem.php", //Required URL of the page on server
           {"redeemcode":code,"gameid":gameid,"vcode":vcode},
           function(response,status){ // Required Callback Function
               var result = jQuery.parseJSON( response );
               $('span.'+selector).text(result.message);
    });
}

$("#anik").click(function(){
    sendingfunction('anik', "54489231", "56465");
  });

$("#abir").click(function(){
    sendingfunction('abir', "54489231", "56465");
  });
...etc.

首先需要考虑的是:<代码>赎回。PHP<代码>支持多个记录。如果是,请给出所有相同的“类”记录,并使用

.each()
关键字迭代所有表单元素,并在提交之前填充请求数据。

我得到了“未捕获的语法错误:意外标记”(
var sendingfunction(选择器、游戏ID、vcode)的错误){
我认为它是一个函数而不是变量..因此它将是
函数发送函数(选择器、游戏ID、vcode){
也爱你的代码:)但下一个更简短:)谢谢你,先生。我同意你的看法,@Liam有更多的经验。
。each()
是jquery的方法
function callPostAjax(element, code, gameId, vCode) {
    $(element).text("Sending..");
    $.post("redeem.php", //Required URL of the page on server
         { "redeemcode": code, "gameid": gameId, "vcode": vCode },
         function (response, status) { // Required Callback Function
             var result = jQuery.parseJSON(response);
             $(element).text(result.message)
         }).fail(function (xhr, status, error) {
             $(element).text('error');
             console.error(error);
         });
}
$("#babon").click(function () {
    var code = $('#rcode').val();
    callPostAjax('span.babon', code, "4548211", "87856");
});

$("#anik").click(function () {
    var code = $('#rcode').val();
    callPostAjax('span.anik', code, "54489231", "56465");
});

$("#abir").click(function () {
    var code = $('#rcode').val();
    callPostAjax('span.abir', code, "8798456", "78542");
});

$("#aurko").click(function () {
    var code = $('#rcode').val();
    callPostAjax('span.aurko', code, "548745612", "24875");
});

$("#af").click(function () {
    var code = $('#rcode').val();
    callPostAjax('span.af', code, "9887254", "82499");
});