2016-08-27 27 views
1

ajax呼び出しでサーバーにデータを送信したいが、エラーが発生する。ASP.NET Webformを使用したAjax投稿

var userdata = {}; 
    userdata["Name"] = "Saran"; 
    var DTO = { 'userdata': userdata }; 
    $.ajax({ 
     type: "POST", 
     contentType: "application/json; charset=utf-8", 
     url: "Default.aspx/update", 
     data: JSON.stringify(DTO), 
     datatype: "json", 
     success: function (result) { 
      //do something 
      alert("SUCCESS = " + result); 
      console.log(result); 
     }, 

     error: function (xmlhttprequest, textstatus, errorthrown) { 
      alert(" conection to the server failed "); 
      console.log("error: " + errorthrown); 
     } 
    });//end of $.ajax() 

私はDefault.aspx.csで関数を作成し、上記の呼び出しでその関数にアクセスしようとしています。

[WebMethod] 
     public static string update(string userdata) 
     { 
      return "Posted"; 
     } 

エラー:

POST http://localhost:33762/Default.aspx/update 401 Unauthorized 52ms 

メッセージ "認証に失敗しました。" StackTraceヌルExceptionType
"System.InvalidOperationExceptionが"

答えて

5

はまず、あなたはsettings.AutoRedirectMode = RedirectMode.Off;App_Start/RouteConfig.csを/更新を設定する必要があります。

第2に、updateメソッドを適切に呼び出すために、あなたのajaxペイロードが正しく構成されていません。以下のアップデートを参照してください:

var DTO = { 'userdata': 'Saran' }; 
$.ajax({ 
     type: "POST", 
     contentType: "application/json; charset=utf-8", 
     url: "Default.aspx/update", 
     data: JSON.stringify(DTO), 
     datatype: "json", 
     success: function (result) { 
      //do something 
      alert("SUCCESS = " + result.d); 
       console.log(result); 
      }, 
     error: function (xmlhttprequest, textstatus, errorthrown) { 
      alert(" conection to the server failed "); 
      console.log("error: " + errorthrown); 
     } 
     });//end of $.ajax() 
関連する問題