1
- 我有一个执行数据库搜索的Web服务。它接受GET和POST请求,并且可以根据HTTP
Accept
标题以JSON,CSV或HTML格式返回数据。 - 我有一个网页,向该Web服务发出Ajax请求,并显示搜索结果。
- 我被要求在此页面添加一个按钮,以便用户可以将数据保存为CSV格式。
今年早些时候,有人在in the same boat,并得到了响应使用JavaScript的HTTP Accept Header
你不能用javascript 能力做到这一点,因为JavaScript有没有到客户机上写 许可, 相反,你可以发送请求服务器 创建csv文件并将其发送回 客户端。
所以我加入这将打开一个新的浏览器选项卡中的HTML版本,一个按钮,确实
window.open("MyWebService.cgi?" + theSameQueryStringIPassedInTheAjaxCall)
,
。我想要CSV版本。有没有办法通过Accept: text/csv
HTTP头? (我知道怎么用XMLHttpRequest和setRequestHeader来做,但这对我没有帮助。)
将参数添加到查询字符串不是更容易吗? (例如format = csv) – davehauser 2010-09-01 19:43:53
我不想重新实现HTTP协议的一部分。但如果必须的话,我可以轻松做到这一点。 – dan04 2010-09-01 19:52:11