2012-04-09 21 views
0

ajax JクエリからMVC razorコントローラに無制限のJSONデータを送信する必要があります。 制限付きデータを送信すると、このメソッドがトリガーされます。より多くのデータを送信すると、メソッドがトリガされず、500内部エラーが発生しています。jquery ajaxからmvc razorコントローラへの無制限jsonデータの送信方法

 $.ajax({ 
          url: '../Offline/Save', 
          data: JSON.stringify(Item), 
          data: "{'Id':" + Results.rows.item(m).Id + ",'Item':" + JSON.stringify(Item) + "}", 
          type: 'POST', 
          dataType: "json", 
          contentType: "application/json; charset=utf-8", 
          success: function (data, status) { 
           alert(data); 
           } 
          },         
          error: function (xhr, ajaxOptions, thrownError) { 
           console.log(xhr.status); 
           console.log(thrownError); 
          } 
         }); 


    [HttpPost] 
    [ValidateInput(false)] 
    public JsonResult SaveFinding(int Id, SyncItem Item) 
    { 
     Result result = new DB().Process(Id, Item); 
     return Json(result); 
    } 

答えて

0

デバッグを試しましたか?

SaveFinding()自体がエラーをスローしないメソッドですか?

または、方法が完了した後でエラーが発生していますか?ここで

あなたは

Can I set an unlimited length for maxJsonLength in web.config?

http://binoot.com/2008/10/14/using-json-some-observations/

http://support.microsoft.com/kb/981884

http://dotnetbyexample.blogspot.com/2007/11/expanding-lenght-of-json-data-returned.html

+0

はいを​​見て検討すべきいくつかのリンクです。私はデバッグを試みました。コンテンツが低ければポインタがこのメソッドに移動し、それ以外の場合はレスポンスは返されますが、イベントビューアでこのエラーが発生しました - 例外情報: 例外タイプ:ArgumentException 例外メッセージ:JSON JavaScriptSerializerを使用してシリアル化または直列化解除中にエラーが発生しました。文字列の長さがmaxJsonLengthプロパティで設定された値を超えています。 シリアライザを使用してコントローラからのコントロールをmaxlengthに設定できますが、JQuery ajaxからコントローラにコントロールを設定する方法はありますか。 – muthuvel

+0

いくつかのリンクで私の答えを更新しました – Yasser

+0

web.configにjsonmaxlengthの設定を追加しましたが、それでも動作していなくても次のコードを追加しました var serializer = new JavaScriptSerializer(); serializer.MaxJsonLength = Int32.MaxValue; VAR結果=新しいContentResult {コンテンツ= serializer.Serialize(新しいFindingDB()SynFinding(新しいDB()プロセス(ID、項目))。。)、 たContentType = "アプリケーション/ JSON" }。 return Json(結果); – muthuvel

関連する問題