首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >ASP.NET WebAPI:如何控制返回给客户端的字符串内容?

ASP.NET WebAPI:如何控制返回给客户端的字符串内容?
EN

Stack Overflow用户
提问于 2012-10-30 03:05:05
回答 1查看 14K关注 0票数 17

在WebAPI中,假设我返回一个包装在HTTP响应中的字符串:

代码语言:javascript
复制
return Request.CreateResponse(HttpStatusCode.BadRequest, "Line1 \r\n Line2");

从jQuery调用此操作时,在返回响应文本之前会对其进行处理。因此,在xhr中,我得到了如下内容:

代码语言:javascript
复制
function success(xhr) {
    alert(xhr.responseText); // alerts ""Line1 \\r\\n Line2""
}

换句话说,字符串被括在双引号中,特殊字符被转义,以便它们出现在输出中(实际的警报是"Line1 \r\n Line2",因此不会保留换行符,而是对其进行编码并显示在响应文本中)。

我可以通过删除引号并替换客户端上的换行符来解决此问题,如下所示:

代码语言:javascript
复制
var responseText = xhr.responseText.substr(1, xhr.responseText - 2)
    .replace('\\r', '\r').replace('\\n', '\n');

但是有没有办法告诉WebAPI如何格式化字符串响应呢?例如,不将它们括在双引号中并转换转义字符?

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13128013

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档