Ajax Post различных данных с использованием функции или массива - PullRequest
0 голосов
/ 15 января 2019

На самом деле я ищу лучший способ отправки данных с использованием 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);
    });
  });
});

https://codepen.io/anon/pen/wRNLQO

Смотрите вывод здесь на скриншоте .. enter image description here

Я использую другую функцию ajax для отправки данных в php. Есть ли способ представить данные из массива? чтобы код выглядел более коротким и красивым?

Ответы [ 3 ]

0 голосов
/ 15 января 2019
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");
});
0 голосов
/ 15 января 2019

Сначала необходимо рассмотреть, поддерживает ли redeem.php несколько записей. Если да, предоставьте все одинаковые записи «класса», итерируйте по всем элементам формы с помощью ключевого слова .each() и заполните данные запроса перед отправкой.

0 голосов
/ 15 января 2019

Просто напишите многоразовую функцию:

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.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...