我有一个url,它返回一个文件,或者在出错时返回JSON响应。当请求可以接受时,它会响应一个文件并提示用户下载(正如人们在那种情况下所期望的那样)。当请求出现问题时,响应是一个JSON对象,应该通过javascript进一步处理。
请求是通过javascript(AJAX,在新标签页中打开,生成iframe,等等)进行的。我如何通过javascript从同一个网址处理这两种回复?
我目前正在修补的策略(尚未开始工作)是:
error
事件处理程序Content-Disposition: attachment
强制保存对话框。)error
事件处理程序,请删除json响应的iframe 当iframe指向触发保存对话框的文件时,iframe不会触发error
个事件,并且某些浏览器不会触发load
个事件。
答案 0 :(得分:1)
在点击该网址之前,似乎在您的情况下,必须存在一些参数才能让您的函数调用提示您返回该文件。
编写一个函数,首先检查您为该URL序列化的数据。如果要序列化的数据通过验证,则此函数可以调用url;如果要序列化的数据未通过验证,则此函数可以返回错误JSON响应。
序列化之前的数据验证可以在客户端使用javascript进行,也可以在服务器端进行。理想情况下,您需要在客户端和服务器上进行验证。