#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), и вы должны получить ошибку. Опишите арри, а затем опубликуйте строку. Это должно сработать.