2011-02-22 6 views
2

Jquery file uploadアドオンを使用して、C3 httpハンドラにファイルを非同期でアップロードしようとしています。プロジェクトのGitHub siteの設定手順を完了しました。それはFirefoxで正常に動作するようだが、ファイルが正常にアップロードされているにもかかわらず、IE( '例外がスローされ、キャッチされない'、Line 25、File 25、File:test.html)でjavascriptエラーがスローされます。私の問題は私の灰色の反応に関連していると思う。誰でも私が間違っていることを見ることができますか?ここでashxに送信するときのJqueryファイルのアップロードエラー

私のページのHTML(test.htmlという)の本体である:ここで

<form id="file_upload" action="testupload.ashx" method="POST" enctype="multipart/form-data"> 
    <input type="file" name="file" multiple> 
    <button>Upload</button> 
    <div>Upload files</div> 
</form> 
<table id="files"></table> 
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script> 
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.6/jquery-ui.min.js"></script> 
<script src="../Script/jquery.fileupload.js"></script> 
<script src="../Script/jquery.fileupload-ui.js"></script> 
<script> 
/*global $ */ 
$(function() { 
    $('#file_upload').fileUploadUI({ 
     uploadTable: $('#files'), 
     downloadTable: $('#files'), 
     buildUploadRow: function (files, index) { 
      return $('<tr><td>' + files[index].name + '<\/td>' + 
        '<td class="file_upload_progress"><div><\/div><\/td>' + 
        '<td class="file_upload_cancel">' + 
        '<button class="ui-state-default ui-corner-all" title="Cancel">' + 
        '<span class="ui-icon ui-icon-cancel">Cancel<\/span>' + 
        '<\/button><\/td><\/tr>'); 
     }, 
     buildDownloadRow: function (file) { 
      return $('<tr><td>' + file.name + '<\/td><\/tr>'); 
     } 
    }); 
}); 
</script> 

は私ASHXのコードです:

+0

JavaScriptエラーは何ですか? –

+0

おっと... JSエラーは「例外がスローされ、捕捉されません」です。 95行目、25行目私の投稿を更新します。 –

答えて

0

私はこの作業を取得することができました...

まず、私は名前、タイプ、およびサイズの応答にハードコードされた値を使用してみました、それが働きました。私はその後、fileupload.FileNameは、ファイルのフルパスを与えていたことに気づき、それが問題だったと仮定

context.Response.Write("{\"name\":\"test\",\"type\":\"test\",\"size\":\"12345\"}"); 

:ここで私が使用したものです。私がresponse.write行でfileupload.FileNameをstrFileNameに変更すると、FirefoxとIEの両方で正常に動作します。以下は動作する行です:

context.Response.Write("{\"name\":\"" + strFileName + "\",\"type\":\"" + fileupload.ContentType + "\",\"size\":\"" + fileupload.ContentLength + "\"}"); 
1

は変更してみてください:

context.Response.Write("{\"name\":\"" + fileupload.FileName + "\",\"type\":\"" + fileupload.ContentType + "\",\"size\":\"" + fileupload.ContentLength + "\"}"); 

これまで:

context.Response.Write("{\"name\":\"" + fileupload.FileName + "\", type:\"" + fileupload.ContentType + "\",size:\"" + fileupload.ContentLength + "\"}"); 

あなたが戻ってきたオブジェクトは、不正な形式です。それはトリックを行う必要があります。

+0

お返事ありがとうございます。私はその変更を試みましたが、エラーを修正しません。それはまた、Firefoxを壊す。 –

+0

あなたのエラー(行95など)はあなたのコードのどの行ですか? – TNC

+0

IEのjavascriptエラーは非常にうまくいかず、jquery.minの行に戻ってきたと思います。その間に、私はashxからの応答で少し演奏し、解決策を見つけました。私は答えとして投稿します。ご協力いただきありがとうございます! –

関連する問題