Вызовите массив jaggery внутри javascript
У меня есть файл jag, который будет содержать массив. Внутри этого jag-файла у меня также есть функция javascript, и я хочу вызвать массив внутри этого javascript.
<%
var types = jsonObj.component.type;
var typeId = new Array();
var typeRole = new Array();
for(var i=0;i<jsonObj.component.type.length;i++) {
typeId[i] =types[i].id;
typeRole[i] =types[i].roles;
}
log.info("----------"+typeId[0]+ typeRole[0]);
%>
в том же файле,
<script type="text/javascript">
function generateResponse() {
}
</script>
Я хочу прочитать массив typeid внутри функции generateResponse.
1 ответ
Решение
Ваш первый фрагмент - это шаблон на стороне сервера, который будет выполнен до generateResponse
загружается браузером пользователя. Есть несколько способов обойти это, но самым простым будет вставить тег сценария с переменной, равной вашему массиву, а затем использовать эту переменную в вашем сценарии ниже:
<%
var types = jsonObj.component.type;
var typeId = new Array();
var typeRole = new Array();
for(var i=0;i<jsonObj.component.type.length;i++) {
typeId[i] =types[i].id;
typeRole[i] =types[i].roles;
}
log.info("----------"+typeId[0]+ typeRole[0]);
%>
<script> var typeId = <%= typeId %>;</script>
Переменная typeId
теперь должен быть доступен в вашем generateResponse
функция.
Я бы также предложил преобразовать ваши данные до того, как вы включите шаблон, но это только я.