2017-01-25 3 views
0

これは私の最初の質問であり、本当に助けが必要です。

私のコントローラからジェネリックハンドラに$ http postメソッドを使って大規模なJSON文字列を送信しようとしていますが、コントロールがHTTPメソッドにヒットしたときにエラーが発生せずに失われました。 、私は角JSへの初心者ですと、誰もがこの問題を解決するために私を助けることができます.... POSTで

 $http({ 
      method: 'POST', 
      url: 'FinjHandler.ashx',        
      params: { SaveJournal: JSON.stringify($scope.ViewData.FilterData) },     
     }).success(function (RetData) { 
     alert('Saved'); 
     }); 
+0

APIに 'text/plain'が必要ですか?通常、JSONデータは 'application/json'として投稿されます。 – georgeawg

+0

返信してくれてありがとうございます。私はapplication/json、text/plainを試してみました。$ httpの中に "headers"オプションを入れていなくても試してみました。データ量が少なくても動作します。実際にjsonの文字列の長さは2000年代に近づいています。それでも私はポストデータがありません。 – Riju

答えて

0

データは、configオブジェクトのdataプロパティで指定する必要が要求されます

$http({ 
     method: 'POST', 
     url: 'FinjHandler.ashx', 
     //contenttype: '',     
     //params: { SaveJournal: JSON.stringify($scope.ViewData) }, 
     //USE data property 
     data: $scope.ViewData, 
     /* 
     headers: { 
      'Content-Type': 'text/plain', 
      'Content-Length': $scope.paramsLength 
     },*/    

    }).then(function onSuccess(response) { 
     // Handle success 
     var data = response.data; 
     var status = response.status; 
     var statusText = response.statusText; 
     var headers = response.headers; 
     var config = response.config; 
     //... 
     alert('saved'); 
    }, function onError(response) { 
     // Handle error 
     var data = response.data; 
     var status = response.status; 
     var statusText = response.statusText; 
     var headers = response.headers; 
     var config = response.config; 
     //... 
    }); 

paramsプロパティでは、フレームワークURLはデータをコード化し、検索パラメータとしてURLに追加します。 POSTデータは通常、パーセント符号化が非常に非効率的なため、データのURLを使用しません。

AngularJSフレームワークは自動的にJavaScriptオブジェクトまたは配列をJSON形式のUTF-8文字列にエンコードします。既定のコンテンツタイプとしてapplication/jsonが使用されます。

//FOR FormData, files, and blobs 
headers: { 'Content-Type': undefined } 

undefinedにコンテンツタイプを設定することにより、AngularJSフレームワークはapplication/jsonのデフォルト設定と適切コンテンツタイプを設定しますXHR APIを省略する:バイナリデータについて

は、Content-Typeヘッダundefinedに設定しました。

+0

うわーちょうどチャームのように働く...ありがとう、もう一度疑問に思う、どうすればashxからデータを取得できますか?以前私はvar Key =(this.Context.Request.QueryString).AllKeys [0];を使用しています。キーと関連するデータを取得する – Riju

関連する問題