2013-06-18 47 views
0

使用ExtJS的在我的数据网格的设置,我有我的代理API设置为...广东话通字符串,但可以通过#'s到WEBMETHOD

api: { 
read: '/Admin/BillRateData.aspx/Get?rbl=asd' 
}, 

和我的webmethod为...

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"} 

我的数据被发送看起来像这样... 当我发信...

MyParameter真正 _dc 1371570036523 限制25 页面1 RBL ASD 启动0

当我送了一些...

MyParameter真正 _dc 1371570093718 上限25 第1页 rbl 123 开始0

但它不会在webmethod上打到我的断点,而JS会引发“读取操作失败:内部服务器错误”。但是,如果我将url更改为“rbl = 123”,它工作正常。它似乎只接受数值。这里发生了什么?!

回答

1

你试过在字符串值周围放双引号吗?你得到的“原始”错误听起来像是试图将asd解释为一个已经定义的变量,但它实际上是一个字符串文字(但它不知道)。这也可以解释为什么它似乎适用于数字(你不会在数字周围加双引号)。

+0

我从来没有想过,因为它是作为一个URL来... ...谢谢! – NikZ

相关问题