2016-10-19 5 views
0

회의 중에 노트 및 기타 정보를 기록 할 수있는 로그인이 필요한 내부 웹 사이트가 있습니다. 동일한 서버에서 같은 폴더에있는 webservice에 AJAX 호출로 데이터를 게시하려고합니다. 401 인증되지 않은 오류가 발생합니다.ajax webservice asmx 401 unauthorized error

자바 스크립트 :

function saveNotes() 
{ 
    var json = "{ ID: 5, Note: 'Test Note'}"; 
    $.ajax({ 
     type: "POST", 
     url: "AutoSaveService.asmx/AutoSave", 
     data: json, 
     xhrFields: { withCredentials: true }, 
     contentType: "application/json; charset=utf-8", 
     dataType: "json", 

     success: function (r) { 
      var data = JSON.parse(r.d); 
      console.log(data.M + ":" + data.N) 
     }, 
     error: function (r) { console.log(r.responseText); }, 
     failure: function (r) { console.log(r.responseText); } 
    }); 
} 

WebService에의 ASMX 파일 : 나는 내 아약스 호출을 해본 적이있다

<authentication mode="Forms"> 
    <forms loginUrl="login.aspx" name="adAuthCookie" timeout="120" path="/"/> 
</authentication> 

:

<%@ WebService Language="C#" Class="AutoSaveService" %> 

[System.Web.Services.WebService(Namespace = "http://tempuri.org/")] 
[System.Web.Services.WebServiceBinding(ConformsTo = System.Web.Services.WsiProfiles.BasicProfile1_1)] 
[System.Web.Script.Services.ScriptService] 
public class AutoSaveService : System.Web.Services.WebService 
{ 
    [System.Web.Services.WebMethod] 
    [System.Web.Script.Services.ScriptMethod(ResponseFormat = System.Web.Script.Services.ResponseFormat.Json)] 
    public static string AutoSave(int ID, string Note) 
    { 
     var data = new { M = ID, N = Note }; 
     System.Web.Script.Serialization.JavaScriptSerializer js = new System.Web.Script.Serialization.JavaScriptSerializer(); 

     return js.Serialize(data); 
    } 

} 

나는 양식을 인증 (AD 대 인증)를 사용하고 있습니다 보안 환경을 구축하기 전에 필요한 기타 정보를 알려주십시오.

비슷한 문제에 대한 다른 해결책을 살펴 보았지만 제대로 작동하지 않습니다.

답변

0

나는 그것을 알아 냈다.

public static string AutoSave(int ID, string Note) 

은 다음과 같아야합니다

public string AutoSave(int ID, string Note) 
관련 문제