代码之家  ›  专栏  ›  技术社区  ›  Lee Olayvar

是否向客户端提供xmlhttprequest响应?

  •  0
  • Lee Olayvar  · 技术社区  · 16 年前

    我正在使用XMLHttpRequest来伪造一个RESTful接口。在响应对象从请求返回数据之后,我如何向用户呈现这些数据?例如,在一个Put请求中,服务器实际上用完整的HTML数据页来响应(在大多数情况下),我希望将整个页面显示给客户机。知道怎么做吗?我确信有一个答案,但是我缺乏JS知识使我陷入困境,可能是因为JS术语不好。

    请注意,我不太愿意使用现代JS套件,如Dojo或JQuery。另外,我并不是在寻找类似Ajax的效果。事实上,一旦有两个浏览器支持正确的HTML5规范表单方法(get/post/put/delete),我将为它转储JS hack。

    任何帮助都将不胜感激!

    编辑: 与其他人交谈时,提出了两个想法。一种方法是使用iframe并将数据推送到其中。另一个是重定向到 "data:text/html,"+xhr.responseText 可以,但对用户来说很难看。…我可能会放弃并隐藏HTML表单中的方法参数( 隐藏输入 )处理IT服务器端,因为我还没有找到一种好的方法来使用JS来实现对RESTful接口的客户端支持。

    1 回复  |  直到 16 年前
        1
  •  0
  •   Ankit Jaiswal    16 年前

    您可以打开一个弹出容器并将所有响应写入该容器,也可以使用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()
    }