我有一个服务,它可以根据输入参数通过表单生成一个PDF文档,其中的GET是一个ReST资源。其中一些条目映射到请求路径,其他条目映射到可选的请求参数,如下所示说明了ReST资源。
/api/invoices/{invoiceNumber}?format={format}在表单提交时,我会重写form上的action以匹配资源URI。但是如果发票号不存在,资源将根据任何错误条件返回404或任何其他所需的错误代码。
我可以通过在页面上设置错误消息来修复此问题,但由于表单target为_blank以打开一个新窗口,因此表单将重新显示在目标窗口中,并显示正确的错误消息,但表单当然是空白的。
我更希望通过异步ajax请求来处理文档,该请求可以检测和适当地处理任何错误消息/条件,但我不确定这是否可行(使用jQuery)。
发布于 2013-04-19 14:55:57
我不认为有条件地打开窗口是可能的,因为此时您已经将内容下载到父窗口中。使用JQuery可以做到这一点,但通常情况下,在窗口之间发送内容既麻烦又脆弱。
我要做的是在表单提交上
选项2
使用IFrame在JQuery内联对话框中显示文件
选项3
让您的初始REST调用要么返回带有错误的HTML等,要么重定向到文件位置。还有其他几种使用REST语义的替代方案,例如,使用Location头。
https://stackoverflow.com/questions/16098427
复制相似问题