передача html-содержимого таблиц на следующую страницу gsp - PullRequest
0 голосов
/ 14 декабря 2011

Мне нужно передать все содержимое HTML-таблицы и попытаться передать его в качестве параметра на следующую страницу gsp в вызове ajax

jQuery.ajax({
          type:'POST',
          data:{'table_cart': $("#table_cart").html()},
          url: '/gra/ar_request/nextpage',
          beforeSend: function() {
                   jQuery('#templateDiv').html('show spinner')
                },
          success:function(data,textStatus){jQuery('#templateDiv').html(data);},
          error:function(XMLHttpRequest,textStatus,errorThrown){}});
    return false;

, когда я пытаюсь получить значение на следующей страницея получаю всевозможные ошибки, такие как «XML не сформирован должным образом, ожидается тег img.;

выдача одинарных кавычек вокруг значения дает ошибку.Чтобы узнать, как передать html-содержимое таблицы в другой gsp, есть ли лучший способ?

Сведения об ошибке на nextpage.gsp отсутствуют;до утверждения http://cdn.jquerytools.org/1.2.6/full/jquery.tools.min.js Строка 29

I am doing 
<script>
    var tbcont = ${rolecart}
</script>

Я распечатал содержимое на консоли из действия, и оно имеет правильный контент.т.е. все теги внутри таблицы, мне нужно кодировать содержимое HTML?Точное отображение содержимого с консоли:

<thead>
                <tr>

                  <th scope="col" style="width: 40%">
                    <span class="column-sort">
                      <a href="#" title="Sort up" class="sort-up"></a>
                      <a href="#" title="Sort down" class="sort-down"></a>
                    </span>
                  Role
                  </th>
                  <th scope="col" style="width: 55%">
                    <span class="column-sort">
                      <a href="#" title="Sort up" class="sort-up"></a>
                      <a href="#" title="Sort down" class="sort-down"></a>
                    </span>
                 Description
                  </th>
                </tr>
              </thead>
              <tbody>

              <tr class="odd">

                    <td style="width: 40%;"><span style="color: black;">unix_server_read</span></td>
                    <td style="width: 55%;"><span style="color: black;">Role with UNIX based entitlements having read access</span
></td>
                </tr><tr style="color:black"></tr><tr style="color:black"> <td colspan="1">End Date: <input style="width:70px" nam
e="ar_enddate" value="" id="ar_enddate" type="text"><img src="images/icons/fugue/calendar-month.png" height="16" width="16"></td><
/tr><tr style="height:8px"></tr><tr class="even">

                    <td style="width: 40%;"><span style="color: black;">unix_server_write</span></td>
                    <td style="width: 55%;"><span style="color: black;">Role with UNIX based entitlements having write access</spa
n></td>
                </tr><tr style="color:black"></tr><tr style="color:black"> <td colspan="1">End Date: <input style="width:70px" nam
e="ar_enddate" value="" id="ar_enddate" type="text"><img src="images/icons/fugue/calendar-month.png" height="16" width="16"></td><
/tr><tr style="height:8px"></tr></tbody>

1 Ответ

0 голосов
/ 14 декабря 2011

Не передавайте html обратно на сервер. Вместо этого извлеките соответствующие параметры (используя <g:form>) и повторно отобразите содержимое файла в вашем вызове AJAX.

Этого можно добиться с помощью grails, извлекая содержимое вашего table в файл-шаблон grails . Таким образом, вы можете отобразить содержимое таблицы в вашем вызове AJAX.

В вашем основном файле gsp ваша таблица будет выглядеть так:

<table>
     <g:render template="yourTableContent" model="${[..]}" />    
</table>

Файл _yourTableContent.gsp расположен в том же месте, где находится ваш gsp.

В вашем действии, вызванном от клиента, вы можете затем позвонить:

def nextpage = {
    [..]
    render(template:"yourTemplateContent", model: [...])
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...