我正在使用 JavaScript。我使用 iframe 将文件上传到 servlet 。我使用正确接收帖子并返回 gson 对象的 java servlet。但是我无法从 iframe 访问返回的对象。
这是表格
<form name='myform' id='myform' method="POST" enctype="multipart/form-data" action="http://localhost:9090/myServlet" target="myFrame" >
<td> <input type="file" size=20 name="fname"> </td>
<td> <input type="Submit" value="Upload"> </td> </form>
</tr></table>
<iframe src="" id="myFrame" name="myFrame" style="width: 110px; height: 110px;">
<script type="text/javascript">
var accountList=null;
</script>
</iframe>
servlet 做它需要的任何事情并返回
> response.setContentType("text/html");
> response.getWriter().println("<html><body
> onload=\"window.parent.uploadComplete();\">"+
> "<div id='resu' name='resu'>" +
> gsonTable+
> "</div>"+
> "</body></html>"); response.getWriter().close();
其中 gsonTable 是 {"nickname":"defaultStatname","date":"1/1/2010/"}
如何从 div 中获取 gson 对象?
在我的功能中
function uploadComplete() {
var frame=parent.document.getElementById('myFrame');
var pippo=frame.contentDocument;
var div = pippo.getElementById('resu');
var myvar=div.innerHTML;
myvar=eval(myvar); }
当我执行 eval(myvar) 我得到“无效标签”时,我感到非常惊讶,因为作为一个 gson 对象,评估字符串应该没问题。我确定我在某个地方犯了错误,但我找不到它。也许我根本不应该将 gson 对象存储在 div 中,并且有更好的解决方案。任何帮助都会很棒 /f