我在.NET Web应用程序中有一个JSON RPC处理程序,并且发布了一个GWT表单,其中一个文本框具有以下值:
今天你如何定义你的压力水平(1 =最少,10 =最多)?
当我将表单发布到服务器时,FireBug显示JSON字符串已被截断为:
至少,10 =最多)?
但是,当我在服务器的RPC处理程序中放置一个断点并查看HttpRequest.Form属性时,它仍然具有完整的字符串。但是,只要我通过执行request.Form [0]尝试访问名称 - 值对,我就会得到截断的字符串,显然我的JSON编码器无法解码字符串。有什么想法吗? 编辑:这是方法:
public override string GetMethodName(HttpRequest request) {
if (RpcUtils.IsGet(request)) {
if (request.PathInfo.Length == 0) {
return null;
}
string functionName = request.PathInfo.Substring(1);
return functionName;
} else if (RpcUtils.IsPost(request)) {
if (request.PathInfo.Length > 0) {
// Not really a proper JSON-RPC request, but handle it anyway
string functionName = request.PathInfo.Substring(1);
return functionName;
} else {
// Real JSON-RPC request
var jsonRpc = (Dictionary<string, object>)this.Decode(request.Form[0]);
string functionName = (string)jsonRpc["method"];
return functionName;
}
} else {
return null;
}
}
问题就在于:
var jsonRpc =(Dictionary)this.Decode(request.Form [0]);