1

通过我的测试,似乎 servicestack 会自动对通过 GET 请求的查询字符串发送的任何参数进行 URL 解码,但不会自动对通过 POST 请求发送的参数进行解码。

无论如何,我可以检查 HTTP 方法并通过我的代码解码 POST 请求吗?

编辑

我的方法派生自一个实现 Servicestack.net 中的 RestServiceBase 类的类。

有没有办法通过 RestServiceBase 从当前请求中检查 HTTP 方法?

4

2 回答 2

2

什么是电汇格式?即它是 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 请求有效负载,以便我们了解发生了什么。

于 2012-02-28T19:16:04.653 回答
0

我在客户端使用 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 "";
} 
于 2012-02-28T16:23:11.397 回答