我正在使用XMLHTTPRequest伪造RESTful接口。响应对象从请求返回数据后,如何将其呈现给用户?例如,在PUT请求中,服务器实际上使用完整的HTML数据页面进行响应(在大多数情况下),并且我想将整个页面显示给客户端。知道怎么样?我确信那里有一个答案,但我缺乏JS知识让我陷入困境,可能是由于JS术语不佳。
请注意,我不太愿意使用现代的JS套件,如DOJO或JQuery。另外,我并不是真的在寻找类似Ajax的效果。事实上,一旦几个浏览器支持正确的HTML5规范表单方法(GET / POST / PUT / DELETE),我将倾销这个JS hack。
非常感谢任何帮助!
编辑:与他人交谈,提出了两个想法。一种是使用IFrame并将数据推入其中。另一个是重定向到"data:text/html,"+xhr.responseText
,这是有效的,但对用户来说是丑陋的。 :/ ..我可能最终只是放弃并隐藏HTML表单中的方法参数(隐藏输入)并处理它的服务器端因为我还没有看到使用JS的好方法实现RESTful接口的客户端支持。
答案 0 :(得分:0)
您可以打开弹出容器并将所有响应写入该容器,也可以使用javascript打开一个新窗口并将所有响应数据放到该窗口。
例如:
function writeConsole(content) {
top.consoleRef=window.open('','myconsole',
'width=350,height=250'
+',menubar=0'
+',toolbar=1'
+',status=0'
+',scrollbars=1'
+',resizable=1')
top.consoleRef.document.writeln(
'<html><head><title>Console</title></head>'
+'<body bgcolor=white onLoad="self.focus()">'
+content
+'</body></html>' )
top.consoleRef.document.close()
}