0

Webフローに、ページを更新せずにファイルをアップロードしたいページがあります。そのためにAjax呼び出しを使用しようとしましたが、失敗しました。アップロードされたファイルのデータをサーバー側/バックエンドに送信してさらに処理する方法がわかりませんでした。Spring MVCフレームワークを使用していますが、PHPを使用したくありません。

誰かが私の仕事を成し遂げることができる解決策またはいくつかのサンプルコードを提案できますか?私はJavaScriptを初めて使用します。

もう1つは、アップロードされたファイルを処理するためにサーバー側に移動した後、同じページに戻り、サーバー側からの文字列を使用して同じページに戻る必要があることです。これはすべて、現在のページを更新せずに行われます。

任意の提案をいただければ幸いです。

4

2 に答える 2

1

フォームが作成され、サーバー側のコントローラーがアップロードを処理するように設定されていると仮定すると、この小さなスニペットを使用すると、AJAX-yの更新なしのファイルアップロードの栄光にたどり着くことができます。

//create a new FormData reference
//(note: you could use getElementById or querySelector)
var myForm = document.forms.myUploadForm; 
var fd = new FormData(myForm);

//create and open an XHR
var xhr = new XMLHttpRequest();
xhr.open("POST","http://www.example.url/the/path/to/your/upload/controller");

//set up event listeners (optional)
xhr.onreadystatechange = monitorStatusFunction;
xhr.onprogress = updateProgressBarFunction;

//send the form (w/ no page refresh!)
xhr.send(fd);
于 2012-04-06T21:41:38.377 に答える
0

私は何日も苦労し、ついに最善の解決策ではないかもしれない解決策を見つけましたが、私のような誰もがこれから助けを得ることができるようにここに投稿しています。

私のすべての要件を満たすために

jspページからポップアップとしてjspページを開き、そのページからコントローラーにアクセスしてサーバー側で作業を行い、同じポップアップページにアップロードされたファイルの内容に応じて文字列を返しました。ポップアップ私はその文字列を私の親ページに転送しました。

したがって、私の作業はページを更新せずに行われます...これを行う手順1.次のようにポップアップを開きます

window.open('//開くjspページのURL'、'// somename'、'//ポップアップページのプロパティ');

2.ポップアップからコントローラーにアクセスし、jspページから必要な文字列を使用して同じjspページに戻ります。3.次のようにその文字列を親ページに渡します。

window.open.urparentjspfuntion(valuefromcontroller);

4.親ページで、必要なことを実行する関数を定義します。

この解決策が私のような人々の助けになることを願っています...

于 2012-04-12T17:12:55.507 に答える