通过我的测试,似乎 servicestack 会自动对通过 GET 请求的查询字符串发送的任何参数进行 URL 解码,但不会自动对通过 POST 请求发送的参数进行解码。
无论如何,我可以检查 HTTP 方法并通过我的代码解码 POST 请求吗?
编辑
我的方法派生自一个实现 Servicestack.net 中的 RestServiceBase 类的类。
有没有办法通过 RestServiceBase 从当前请求中检查 HTTP 方法?
通过我的测试,似乎 servicestack 会自动对通过 GET 请求的查询字符串发送的任何参数进行 URL 解码,但不会自动对通过 POST 请求发送的参数进行解码。
无论如何,我可以检查 HTTP 方法并通过我的代码解码 POST 请求吗?
编辑
我的方法派生自一个实现 Servicestack.net 中的 RestServiceBase 类的类。
有没有办法通过 RestServiceBase 从当前请求中检查 HTTP 方法?
什么是电汇格式?即它是 application/json 还是 application/x-www-form-urlencoded ?因为只有 application/x-www-form-urlencoded Content-Type's 应该被编码。
现在,如果您使用 C# ServiceClient 进行 POST,那么我们不支持 POST 应用程序/x-www-form-urlencoded,并且很可能正在发布 JSON 或 XML 等(取决于 ServiceClient)而不是“ t 需要 URL 编码。
如果您从 jQuery 发布,那么它应该会自动为您进行 url 编码。
无论哪种方式,您能否发布 HTTP 请求有效负载,以便我们了解发生了什么。
我在客户端使用 jQuery 编码:
var sear = htmlEncode($("#Search").html());
.
.
.
function htmlEncode(value) {
if (typeof (value) != "undefined") {
return $('<div/>').text(value).html();
}
return "";
}
function htmlDecode(value) {
if (typeof (value) != "undefined") {
return $('<div/>').html(value).text();
}
return "";
}