вернуть несколько html данных в ajax - PullRequest
1 голос
/ 07 апреля 2020

в моем ajax коде

.............
........
success: function(datases) 
               {
 $.ajax({

         url:"checkfitment",
         method: 'POST',
        data: {checkfitment:checkfitment, make:selectedmakes},
        success: function(datas) 
    {
 $(".checkfirmentidmsg").html(datas); 
        }
   }); 

 $.ajax({
 url:"showattributespecification",
 method: 'POST',
 data: {checkfitment:checkfitment , make:selectedmakes},
 success: function(datas) 
        {
        $("#specificationsforms").hide();
        $("#showattributespecificationmsg").html(datas); 
             }
});
} 

вышеупомянутые два ajax вызова в основном ajax результате успеха, два ajax передают одни и те же данные, но результат отличается.

функции

public function checkfitment()
{
 $make = $_POST['make'];
$fiter_products= DB::select(...............);
$countfitment = count($fiter_products);
if($countfitment > '0')
        {
?><span class="checkfit"><input type="checkbox" readonly="readonly" checked="checked" name="fitmentchecked" value="1" /> Fits <?php echo $year. ' '.$make.' '.$model;?> <div class="checkfit-oem"><?php echo  '[OEM '.$bolt_pattern.' '.$rim_width.'Jx'.$rim_diameter.']'; ?></div>

         <style> .mfp-container{ display:none;}
                       .checkFitmentsss{ display:none; position:inherit}
                       [type="checkbox"]:not(:checked), [type="checkbox"]:checked {
    position: absolute;
    opacity:unset  !important;;
</style>

            <?php
}
}

anotherfunction

public function showattributespecification()
{
 $make = $_POST['make'];
$fiter_products= DB::select(...............);
$countfitment = count($fiter_products);
if($countfitment > '0')
        {
    echo '<table class="table table-condensed">
                                    <thead>
                                        <tr class="cart_menu">
                                            <td>S.No</td>
                                            <td>Size</td>
                                            <td></td> 
                                            <td>Price</td> 

                                            <td></td> 

                                        </tr>
                                    </thead>';
            $k=1; 
            foreach($fiter_products as $rows)
            {
            ?> 
 <tr class="cart_menu" style="background: aliceblue;">
 <td><?php echo $k; ?></td>
 <td><?php echo $rows->size; ?></td>
  <td><input type="number" name="qty" id="qtys<?php echo $rows->id; ?>" value="4" min="4" /></td>

<td class=""> <?php echo $rows->price; ?> AED</td>
<?php /*?><td>
<div class="stock-btn"><a href="#!"><?php echo $rows->stock_availability; ?></a></div> 
</td><?php */?>
<td>
<?php if($rows->stock_availability=='Available') { ?>
 <div class="stock-btn avilebless" id="avilebleaddtocart<?php echo $rows->id; ?>" style="display:block;"> 
<a href="javascript:void(0)" onclick="addtocarttirebyid<?php echo $rows->id; ?>()" id="<?php echo $rows->id; ?>">Add to Cart</a>
</div>
<?php }
}
}

на этот раз результат отображается очень медленно, и я думаю, что запись его в одну функцию и один вызов ajax, как написать эти две функции в одной функции, как сохранить эти данные в переменной?

1 Ответ

1 голос
/ 07 апреля 2020

Можете ли вы следовать приведенному ниже методу со стороны сервера и использовать следующий метод ajax с типом данных json для получения нескольких значений

$.ajax({        
    url     : "myurl.php",
    method  : 'POST',
    datatype : 'json',
    data    : {
                params1 : value1,
                params2 : value2
              },
    success : function(datas) {

      $("#elem1").html(data.html1); 
      $("#elem2").html(data.html2);

    }
}); 

myurl. php скрипт на стороне сервера должен выглядеть следующим образом

<?php
    $return = array();
    $html1  = '';
    $html2  = '';

    $html1.='<h2>This is a test element</h2>';
    $html2.='<h2>This is another test element</h2>'

    $return['html1'] = $html1;
    $return['html2'] = $html2;

    echo json_encode($return); exit;

?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...