我需要传递一个完整的html表内容并尝试将其作为参数传递给ajax调用中的下一个gsp页面
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标记。,;缺少..etc”
我只想按照以下方式阅读下一页的值
var table_content = ${table_cart}
在值周围给出单引号会产生错误。我想知道如何将表的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>
答案 0 :(得分:0)
不要将html传回服务器。相反,提取相关参数(使用<g:form>
)并重新渲染AJAX调用中的文件内容。
您可以通过将table
的内容提取到grails-template file来实现这一目标。这样,您可以在AJAX调用中呈现表的内容。
在您的主gsp文件中,您的表格如下所示:
<table>
<g:render template="yourTableContent" model="${[..]}" />
</table>
_yourTableContent.gsp
文件位于gsp所在的同一位置。
在您从客户端调用的操作中,您可以调用:
def nextpage = {
[..]
render(template:"yourTemplateContent", model: [...])
}