我有一个网址$ sed -f <(sed -E 's|^(\S+).*|/\1/d|' file1) file2
acl 2.2.51 GPLv2+
audit 2.4.1 GPLv2+
binutils 2.23.52.0.1 GPLv3+
。
如何使用/{database}/api/data/collections/name/{name}
获取视图{name}
的所有条目?
答案 0 :(得分:1)
<强> SSJS 强>
您可以使用HttpURLConnection的方法getHeaderFields()
获取所有响应标头字段。
使用get('Content-Range')
选择您想要的标题字段。
示例:
<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core">
<xp:text escape="true" id="computedField1">
<xp:this.value><![CDATA[#{javascript:
var url = new java.net.URL(
"http://yourServer/yourDatabase.nsf/api/data/collections/name/All");
var conn:java.net.HttpURLConnection = url.openConnection();
conn.setRequestProperty("Accept", "application/json");
if (conn.getResponseCode() == "200") {
try {
return conn.getHeaderFields().get('Content-Range');
} catch(e) {
return 'Error reading header field "Content-Range"';
}
} else {
return 'Error ' + conn.getResponseCode() + " " + conn.getResponseMessage();
}
}]]></xp:this.value>
</xp:text>
</xp:view>
此示例XPage呈现为结果,例如items 0-9/35
并指示响应包括总共35个条目中的条目0到9。
如果您只想获得总条目数,请更改行
return conn.getHeaderFields().get('Content-Range');
到
var range = conn.getHeaderFields().get('Content-Range').get(0);
var total = range.substr(range.indexOf('/') + 1);
return total;
这将仅呈现相同的网址35
。
<强> CSJS 强>
在客户端使用XMLHttpRequest的方法getResponseHeader()
:
var xhr = new XMLHttpRequest();
xhr.open('GET', url, false);
xhr.send(null);
var range = xhr.getResponseHeader("Content-Range");
var total = range.substr(range.indexOf('/') + 1);
return total