2017-06-13 6 views
0

Webメソッドを使用してデータを保存しようとしています。しかし、メソッドが見つからないなどのエラーが表示されます。私のweb.configファイルでAjax Webメソッドが見つかりません

function InsertMasterCourse() { 
    var data = {}; 
    data.Name = $('[id$=txtName]').val(); 
    $.ajax({ 
     type: 'POST', 
     url: '<%= ResolveUrl("~/MasterService.asmx/InsertMasterCourse") %>', 
     data: "{data:" + JSON.stringify(data) + "}", 
     contentType: "application/json; charset=utf-8", 
     dataType: 'json', 
     async: true, 
     success: function (response) { 
      $('#txtName').val(''); 
     }, 
     error: function (response) { 
      alert(response.statusText); 
     } 
    }); 

    return false; 
} 
の.asmxで

[WebMethod()] 
    [ScriptMethod()] 
    public static void InsertMasterCourse(Master_CourseBLL data) 
    { 
     data.CollegeId = 1; 
     data.Status = "Active"; 
     data.CreatedOn = DateTime.Now; 
     data.UpdatedOn = DateTime.Now; 
     data.Save(true); 
    } 

<location path="MasterService.asmx"> 
<system.web> 
    <webServices> 
    <protocols> 
     <add name="HttpGet"/> 
     <add name="HttpPost"/> 
    </protocols> 
    </webServices> 
</system.web> 

を次のように私はGoogleのクロムコンソールをチェックすると、私は、HTTP GETとPOSTリクエストを追加していますInsertMasterCourse.aspxが見つかりませんのようなエラーが表示されます。 .aspxに私のWebサービスメソッドが追加されました。それを解決する方法。

+0

での.asmx 使用Newtonsoft.dllで

function InsertMasterCourse() { var data = {}; data.Name = $('[id$=txtName]').val(); $.ajax({ type: 'POST', url: '<%= ResolveUrl("~/MasterService.asmx/InsertMasterCourse") %>', data: JSON.stringify(data), contentType: "application/json; charset=utf-8", dataType: 'json', async: true, success: function (response) { $('#txtName').val(''); }, error: function (response) { alert(response.statusText); } }); return false; } 

ScriptMethod()属性を削除してください。これにより、GET要求のみを受け入れるようになります。 https://stackoverflow.com/questions/941484/webmethod-vs-scriptmethod。また、この例のように、ASMXクラス宣言にScriptService()属性が必要な場合があります。https://www.aspsnippets.com/Articles/Call-Consume-Web-Service-ASMX-using-jQuery-AJAX-in- ASPNet.aspx – ADyson

+0

はい、ScriptMethod()を削除しました。しかし、まだエラーが見つかりません – Hisanth

+0

あなたは私が与えた2番目のリンクごとに正しくすべての設定を確実にしましたか? – ADyson

答えて

0

はこれを試してください - あなたの参照を組み立てる

using System.NewtonSoft.Data; 
[WebMethod()] 
[ScriptMethod()] 
public static void InsertMasterCourse(string data) 
{ 
    Datatable dt = Newtonsoft.Json.JsonConvert.DeSerializeObject(data); 
} 
関連する問題