【问题标题】:How does dojo/request handle html/javascript response?dojo/request 如何处理 html/javascript 响应?
【发布时间】:2014-05-18 09:12:24
【问题描述】:

实际上,我们知道 dojo/request 有一个属性“handleAs”可以处理:

  • 文字
  • json
  • javascript
  • xml

但是如果响应是嵌入了 javascript 的 html 片段呢?如何处理?

我很长一段时间都遇到了这个问题,我尝试使用 handleAs: html。 html 渲染很好,但我从来没有得到 javascript 的作品。

【问题讨论】:

    标签: javascript html dojo request handler


    【解决方案1】:

    正如我在您的其他问题中向您解释的那样,出于安全考虑,在使用 AJAX 请求(如 dojo/request/xhr)时,JavaScript从不自动执行。

    如果要执行动态加载的 JavaScript 代码,则必须使用 eval() 函数对其进行解析。但是,我也已经告诉过您,Dojo 工具包已经有一个模块来处理 XHR 请求并使用 dojox/layout/ContentPaneexecuteScripts 属性在其上执行脚本。

    但是,使用eval() 并从 AJAX 请求加载脚本被认为是一种不好的做法,这意味着您的应用程序设计可能会得到改进。将 JavaScript 移到父页面(而不是片段)上,然后就没有问题了。

    【讨论】:

    • 是的。我正在尝试将 javascript 移回父页面(top_frame.html),而不是将其保留在 html 片段(从 ajax 调用生成)中。但现在又出现了其他问题。如何将新加载的 html 片段(按钮)元素的 onclick 事件绑定到父页面的 javascript dojo 函数?请多多指教。
    • 移除javascript返回父页面后,重写dojo函数,将新加载的html片段的元素注册到dojo函数中,最终成功。感谢 Dimitri M
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-26
    • 1970-01-01
    • 1970-01-01
    • 2019-05-05
    相关资源
    最近更新 更多