私のデータグリッドセットアップでextjsを使用して、プロキシAPIを次のようにセットアップしています...
api: {
read: '/Admin/BillRateData.aspx/Get?rbl=asd'
},
そして私のウェブメソッドは...
public static List<Something> Get(string rbl)
Firebug の応答は...
{"Message":"Invalid JSON primitive: asd.","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.Services.RestHandler.GetRawParamsFromGetRequest(HttpContext context, JavaScriptSerializer serializer, WebServiceMethodData methodData)\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"}
送信されるデータは次のようになります... 手紙を送ると...</p>
MyParameter true _dc 1371570036523 limit 25 page 1 rbl asd start 0
番号を送ると…</p>
MyParameter true _dc 1371570093718 limit 25 ページ 1 rbl 123 start 0
しかし、webmethod のブレークポイントに到達せず、JS は「読み取り操作に失敗しました: 内部サーバー エラー」をスローします。ただし、url を "rbl=123" に変更すると、正常に動作します。数値しか受け付けないようです。何が起きてる?!