2017-02-23 2 views
0

私はASP.NET webformsテストアプリケーションでjquery Datatables.NETのサーバー側処理を実装しようとしています。次のコードを使用してJSONの権限が無効です。 jQueryを使用してASP.NET WebFormsのWebメソッドへのAJAX呼び出しでDatatables

: のjQuery:(私のAjaxTest.aspx.cs中)

$(document).ready(start); 

function start(){ 
$('#PersonsTable').DataTable({ 
     "processing": true, 
     "serverSide": true, 
     "ajax": { 
      "url": "/AjaxTest.aspx/GetPersonsHttp", 
      "type" : "POST", 
      "dataType": "json", 
      "contentType": "application/json; charset=UTF-8" 
     }, 
     "columns": [ 
      { "data": "FirstName" }, 
      { "data": "Name" } 
     ] 
    }); 
}; 

C#:

[WebMethod] 
public static Person GetPersonsHttp() 
{ 
    Person me = new Person() { FirstName = "John", Name = "Doe" }; 
    return me; 
} 

クラスパーソン:

public class Person 
    { 
     public string Name { get; set; } 
     public string FirstName { get; set; } 

     public override string ToString() 
     { 
      return string.Format("{0} {1}", this.FirstName, this.Name); 
     } 

    } 

マイAjaxTest.aspx次のようになります。

01ここで私が間違ってやっていることを知っている

{"Message":"Invalid JSON primitive: draw.","StackTrace":" at System.Web.Script.Serialization.JavaScriptObjectDeserializer.DeserializePrimitiveObject()\r\n at System.Web.Script.Serialization.JavaScriptObjectDeserializer.DeserializeInternal(Int32 depth)\r\n at System.Web.Script.Serialization.JavaScriptObjectDeserializer.BasicDeserialize(String input, Int32 depthLimit, JavaScriptSerializer serializer)\r\n at System.Web.Script.Serialization.JavaScriptSerializer.Deserialize(JavaScriptSerializer serializer, String input, Type type, Int32 depthLimit)\r\n at System.Web.Script.Serialization.JavaScriptSerializer.Deserialize[T](String input)\r\n at System.Web.Script.Services.RestHandler.GetRawParamsFromPostRequest(HttpContext context, JavaScriptSerializer serializer)\r\n at System.Web.Script.Services.RestHandler.GetRawParams(WebServiceMethodData methodData, HttpContext context)\r\n at System.Web.Script.Services.RestHandler.ExecuteWebServiceCall(HttpContext context, WebServiceMethodData methodData)","ExceptionType":"System.ArgumentException"} 

サムバディ:

は最終的に私は次のエラーを取得していますか?

+0

その質問を参照する必要があります。http://stackoverflow.com/questions/2445874/invalid-json-primitive-in-ajax-processing – Nicolas

+0

OKですが、これは質問には答えません。私はdatatables/ajax/c#(asp.net) –

+0

の実例を見つけることができません。私はASPについて何も知りません。申し訳ありません – Nicolas

答えて

1

静的メソッドの上に[ScriptMethod(UseHttpGet = true, ResponseFormat = ResponseFormat.Json)]を追加してみてください。

+0

たくさんのthx!これは私が必要なものです –

関連する問題