我的.NET API服务器正在将一些数据返回给我的Angular客户端,并设置Content-Range
标头,如下所示:
var response = await base.ExecuteAsync(cancellationToken);
const string unit = "items";
response.Headers.Add("Accept-Ranges", unit);
response.Headers.Add("Range-Unit", unit);
response.Content.Headers.ContentRange = new ContentRangeHeaderValue(_requestedFrom, _requestedTo, _totalCount)
{
Unit = unit
};
这似乎工作得很好,因为我的网络标签显示:Content-Range:items 0-9/122
我遇到的问题是,当我尝试解析这些数据时,解析似乎失败了:
var response = parseRange(headers('Content-Range'));
console.log("response " + response);
控制台记录:responce null
。我有什么想法吗?
编辑。 parseRange
功能
function parseRange(hdr) {
var m = hdr && hdr.match(/^(?:items )?(\d+)-(\d+)\/(\d+|\*)$/);
if(m) {
return {
from: +m[1],
to: +m[2],
total: m[3] === '*' ? Infinity : +m[3]
};
} else if(hdr === '*/0') {
return { total: 0 };
}
return null;
}
此函数中的 hdr
为空,因此headers()
函数出现问题?