назначить parseJSON (data) переменной данных ajax - PullRequest
0 голосов
/ 17 октября 2019

я хочу присвоить parseJSON (данные) переменной данных ajax.

данные содержат:

[{
  "master_id":"1",
  "prod":"prod1",
  "cust":"cust1"
  },
  {
  "master_id":"4",
  "prod":"prod4",
  "cust":"cust4"
  }
]

js:

    data = $.parseJSON(data);
     for (var i = 0; i < data.length; i++){
       $("#mas").append('<li id="mid"><a class="coba2" id='+data[i]['master_id']+' name="master" href="#">'+data[i]['MASTER_ID']+'</a></li>');}

в теге li этопри печати значения master_id.but при передаче этого идентификатора в ajax-данные создается исключение.

    $(document).on('click', '.coba2', function(){ 
            var id= $(this).attr('id');
            console.log('li id '+typeof(id)); // string 
            $.ajax({
            url : 'next.php',
            type : 'POST',
            data : {'master_data': id}

Uncaught SyntaxError: неожиданный токен {в JSON в позиции 1

1 Ответ

0 голосов
/ 17 октября 2019

Вы не можете анализировать JSON из объекта, который уже является JSON, вы можете использовать parseJSON из объектов, инкапсулированных в строку.

Если ваша проблема отправляет данные JSON по POST, попробуйте сделать это:

$(document).on('click', '.coba2', function(e){ 
      var id= $(this).attr('id');
      $.ajax({
        url : 'next.php',
        type : 'POST',
        dataType: 'json',
        contentType: 'application/json',
        data : JSON.stringify({'master_data': id})
      });
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...