вставка массива данных jqgrid json

#javascript #jquery #arrays #json

Вопрос:

В jqgrid часть, отмеченная флажком, переносится в массив и вставляется в БД через VO.

Я проверил данные строки в jqgrid multiselect и поместил их в объявленный массив.

 objGrid.click(function(){   var data = objGrid.jqGrid('getGridParam','selarrrow');  for(var i =0; ilt;data.length; i  )  {   empsl = objGrid.jqGrid('getCell', data[i], 'empno');  /* empsl = JSON.parse(empsl); */  arry.push(empsl);  }    test = JSON.parse(arry);  //test = JSON.stringify(arry);   console.log(test);    }); },    buttons : {  "저장":function() {   console.log(typeof arry);  console.log("insert data",arry);    if (isRunning) {  alert($.message.common.notification.wait);  return;  }  isRunning = true;     $.post("./CheckHoliday/addCheckHolidayData"  , {empsl:arry}   , function(data){  if (data gt; 0) {  alert("has been saved.");  closeDialogFunc();  CheckHolidayListRefresh();  

Когда я конвертирую в JSON.stringify и нажимаю кнопку сохранить, он также отображается в виде массива, но, как вы можете видеть, даже круглые скобки и кавычки вводятся как есть, и возникает ошибка.

 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '["10010","10010","10049"], 'Y' )' at line 7  

Итак, если вы считаете, что вам нужно изменить его на JSON.parse(arry); и преобразовать его в синтаксический анализ

Если в флажке выбраны только одни данные, они будут успешно сохранены, но если выбрано более одного флажка,

Ошибка синтаксиса: Неожиданный токен в JSON в позиции 5 в JSON.parse () в htmltablelement.eval (оценка в (jquery-1.8.3.js:564), :102:17) в htmltablelement.отправка (jquery-1.8.3.js:3058) в htmltablelement.Обработчик событий (jquery-1.8.3.js:2676)

Эта ошибка появляется в окне консоли инструментов разработчика, но я не могу поместить ее в массив.

Конечная цель состоит в том, чтобы поместить выбранные данные в массив.

 INSERT INTO HRS_CHECKHOLIDAY ( EMPNO , EMPSL , USEYN ) VALUES ( ${empno}, ${empsl}, 'Y' )  

Ответ №1:

Разве Арри не объект? Таким образом, вы не можете выполнить JSON.parse(arry), и вы должны получить ошибку. Опишите арри, а затем опубликуйте строку. Это должно сработать.