2016-07-19 6 views
1

Angular $ http.postコールで成功/失敗ハンドラへのコールバックを取得できません。 私のサーバー側は.NET MVCコントローラです。コントローラがファイルを取得していて、そこで正常に動作しています。私はそれを使ってデバッグしました。そのため、POST呼び出し自体は正常に動作しているようです。ちょうどクライアントのJavaScript側でコールバックがありません。

私は基本的な範囲の機能をしました...

$scope.uploadFile = function(files) { 
    var fd = new FormData(); 
    fd.append("file", files[0]); 

    $http.post('api/clubs/upload', fd, { 
     withCredentials: true, 
     headers: {'Content-Type': undefined }, 
     transformRequest: angular.identity 
    }) 
     .then(function (response) { 
      alert("Success:" + result.status); 
     }, function (response) { 
      alert("Failuer: " + result.status); 
     }); 
}; 

アラートのどちらがポップアップされます。

サーバー側コントローラは...

string root = HttpContext.Current.Server.MapPath("~/Upload_Data"); 
     var provider = new MultipartFormDataStreamProvider(root); 

     try 
     { 
      // Read the form data. 
      await Request.Content.ReadAsMultipartAsync(provider); 

      // This illustrates how to get the file names. 
      foreach (MultipartFileData file in provider.FileData) 
      { 
       Trace.WriteLine(file.Headers.ContentDisposition.FileName); 
       Trace.WriteLine("Server file path: " + file.LocalFileName); 
      } 


      // Show all the key-value pairs. 
      foreach (var key in provider.FormData.AllKeys) 
      { 
       foreach (var val in provider.FormData.GetValues(key)) 
       { 
        Trace.WriteLine(string.Format("{0}: {1}", key, val)); 
       } 
      } 


      return Request.CreateResponse(HttpStatusCode.OK); 
     } 
     catch (System.Exception e) 
     { 
      return Request.CreateErrorResponse(HttpStatusCode.InternalServerError, e); 
     } 

ファイルは、「Upload_Data」フォルダにアップロードして保存取得されます。

なぜクライアント側でコールバックがありませんか?

答えて

1

result.statusを呼び出していますが、パラメータ名はresponseです。名前を変更して、構文エラーがあるかもしれません。

+0

ha!余分な目、キュールをありがとう。それは(ダム)問題だった。今働いている。 – Riccarr

関連する問題