Как вернуть переменные javascript в ответ json и отобразить их значения в документе - PullRequest
0 голосов
/ 30 апреля 2019

Я возвращаю строку в ответе json:

item.php

    $ItemList =array (itemcode=>EATERY, itemname=>'Popcorn') ;


    $ItemDisplay =

 "  
                '<div>' +  document.write(this.itemname) +  ' - ' + 
                          document.write(this.itemcode) +'</div>' 
            "; 


        echo "{'itemlist':$ItemList, itemdisplay:$ItemDisplay}";

Теперь в html-файле я хочу, чтобы вывод отображался.то есть отображаются значения переменных, встроенных в json:

itemlist.html

var itemlist = '';
$.each(response.itemlist, function (i){


    itemdisplay += data.items;



});



$('#itemlist').html(itemdisplay );

Требуется вывод:

<div>Popcorn - EATERY</div>
<div>Burger - EATERY</div>
<div>Napkin - ACCESSORY</div>

Обновление:

itemlist - это массив (itemcode => EATERY, itemname => 'Popcorn')

Ответы [ 2 ]

1 голос
/ 30 апреля 2019

Допустим, это ваш itemlist.html код:

var itemdisplay = '';

$.each(response.itemlist, function (key, value){
    itemdisplay += value;
});

$('#itemlist').html(itemdisplay);

, поэтому ваш item.php должен выглядеть примерно так:

$itemList = [
    ['itemcode' => 'EATERY', 'itemname' => 'Popcorn'],
    ['itemcode' => 'EATERY', 'itemname' => 'Burger'],
    ['itemcode' => 'ACCESSORY', 'itemname' => 'Napkin']
];

$json = [];

foreach($itemList as $item){
    $json[] = '<div>' . $item['itemname'] . ' - ' .  $item['itemcode'] . '</div>';
}

json_encode(['itemlist' => $json], JSON_UNESCAPED_SLASHES);
0 голосов
/ 30 апреля 2019

Php - создайте необходимую разметку и передайте ее клиенту:

$ItemList = '<div>Item1 - Name 1</div><div>Item2 - Name 2</div><div>Item3 - Name 3</div>';
echo json_encode(['items' => $ItemList]);

Js - просто вставьте предоставленный html в выбранный вами элемент:

$('#itemlist').html(response.items);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...