2011-08-04 13 views
0
<script src="../jquery-1.4.4.min.js" type="text/javascript"></script> 
<script src="../jquery.flash.js" type="text/javascript"></script> 
<script src="../jquery.jqUploader.js" type="text/javascript"></script> 
    <script type="text/javascript"> 
     $(document).ready(function() { 
      $("#example3").jqUploader({ background: "FFFFDF", barColor: "FF00FF", 
       allowedExt: "*.zip", 
       src: "../jqUploader.swf", 
       uploadScript : "@Url.Action("Upload","Car")", 
       afterScript : onRequestCompleted 
      }); 
     }); 
     </script> 

    <form action="@Url.Action("Upload","Car")" class="a_form"> 
       <div id="example3"></div> 
    </form> 

///////////作用jquploaderエラー#302

public string Upload(HttpPostedFileBase fileData) 
{ 

    if (this.Request.Files.Count == 0) 
    { 
     return ""; 
    } 

    var fileName = this.Server.MapPath("~/AAA/" + System.IO.Path.GetFileName(fileData.FileName)); 
    fileData.SaveAs(fileName); 

    return "ok"; 
} 

///// I 2の場所でこのコードを使用します。最初はHomeController/UploadアクションAで、HtmlはHome/Index.cshtmlで使用しました.jqUploaderが動作しています。私がコードを移動したときのバット:Areas/AdminPanel/Controllers/CarController.csのアクションAとAreas/AdminPanel/Views/Car/__ Extract.cshtmlのhtml jQuploaderは動作せず、HTTP#302エラーが発生します。

////このコードは、新しいMVCプロジェクトを使用するときに機能します。しかし、私のプロジェクトで使用したいときにエラー#302を与えます.Global.asax.csのものだと思いますが、この問題の解決方法はわかりません。どうして誰がそこにいるのだろうか?

答えて

0

HTTPステータスコード302は、サーバーがあなたを別の場所にリダイレクトすることを意味します。火かき棒を使用して、どこを見つけて、私に知らせてください。また、アップロードアクションに属性[HttpPost]を追加する必要があります。

リダイレクトの最も一般的な理由は、ログインせずに管理機能にアクセスしようとするときです。 (私はパスAreas/AdminPanel/Views/Car/を見てこれを疑う)その後、サーバーはログインページにリダイレクトします。

Authorizeの属性がGlobal.asax.csのグローバルフィルタ、またはアクションUploadの上に表示されていることを確認してください。もしログインしたら、アップロードしてください。

ログインしている場合は、このjqUploaderが認証クッキーを送信しているかどうかを確認し、もう一度firebug net panel XHRタブを使用して確認します。

+0

firebugでは、XHRは0リクエストを受け取ります。クリックしてアップロードするとリクエストが送信されません。 –

+0

次に、あなたは302エラーが出ていたと思いましたか?おそらく、Netパネルのすべてのタブで投稿が発生する可能性があります – Zasz

+0

いいえ、私はテストしませんでした。誰も要求していない。私はそのエラー302をjquploaderプラグインから知っていた。 –