私はjavascriptを使用しています。iframeを使用してファイルをサーブレットにアップロードします。投稿を正しく受け取り、gsonオブジェクトを返すJavaサーブレットを使用しています。ただし、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>
サーブレットは必要なことをすべて実行して返します
> 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/"}です。
gsonオブジェクトをdivから取得するにはどうすればよいですか?
私の職務では
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