当html绑定

时间:2017-05-29 11:12:06

标签: javascript jquery knockout.js data-binding

我有一个页面需要重定向到谷歌邮件页面。考虑我的JSON响应如下所示

var jsonResponse = {
'htmlData': '<html><head></head><body onLoad="document.myForm.submit()"><noscript><p>JavaScript is required. Enable JavaScript to use OAM Server.</p></noscript><form action="https://mail.google.com" method="post" name="myForm"></form></body></html>'
};

如下所示绑定到html页面。在视图模型中,我们将从json响应中检索信息

(viewModel.js)
public responseHtml: KnockoutObservable<string> = ko.observable<string>();
var response= jsonResponse.htmlData;
this.responseHtml(response); 

(view.html)
<div id="kk">
  <div id="data" data-bind="html: responseHtml"></div>
</div>

这里我的渲染页面没有被重定向到gmail页面,它显示的是空白页面。你能告诉我是否有办法,我们可以在哪里重定向到那个url页面。这个view.html在弹出窗口中呈现。

1 个答案:

答案 0 :(得分:1)

您的json有一个完整的网页,从标签开始。你不能在div中插入这个html。

如果您将此json作为Ajax请求获取,则可以执行此操作:

            $.ajax(
            {
                .. ,
                success: function (data) {
                    document.open();
                    document.write(data.htmlData);
                    document.close();
                },
                error: function (jqXHR, textStatus, errorThrown) {
                    alert(jqXHR.responseText);
                }
            });

这样你就可以取代&#34;您的实际网页与json响应中的网页。