【问题标题】:Load ajax success data on new page在新页面上加载 ajax 成功数据
【发布时间】:2015-09-10 03:14:06
【问题描述】:

我的 ajax 调用命中控制器并在成功时获取完整的 JSP 页面。我试图在新页面上独立加载该数据,而不是在现有页面的某些元素中。我尝试为 html 标签加载它,但这也不起作用。我尝试跳过成功功能,但它仍然在同一页面上,没有成功数据。我的 ajax 调用是在单击表单中的普通按钮时进行的,代码如下所示。

$.ajax({

    url : '/newpage',
    type : 'POST',
    data : requestString,
    dataType : "text",
    processData : false,
    contentType : false,
    success : function(completeHtmlPage) {
        alert("Success");
        $("#html").load(completeHtmlPage);
    },
    error : function() {
        alert("error in loading");
    }

});

【问题讨论】:

  • 为什么不使用window.location.href = '/newpage'; 重定向到页面?
  • 两个问题:1.你看到alert("Success")了吗? 2.能否请您添加您的html代码,特别是#html部分?
  • 你听说过 LINKS 吗?
  • 这不是你使用.load()的方式,请再次阅读jQuery API文档
  • 成功时重定向页面

标签: javascript jquery html ajax jsp


【解决方案1】:

应该这样做:

$.ajax({

url : '/newpage',
type : 'POST',
data : requestString,
dataType : "text",
processData : false,
contentType : false,
success : function(completeHtmlPage) {
    alert("Success");
    $("html").empty();
    $("html").append(completeHtmlPage);

},
error : function() {
    alert("error in loading");
}

});

【讨论】:

  • 谢谢。选项 1 非常适合我。虽然我像这样使用它 $("html").empty(); $("html").append(completeHtmlPage)。选项 2 似乎是一个不正确的解决方案,因为它将我的 HtmlContent 加载到 Url 中导致找不到页面错误。
  • 这意味着 completeHtmlPage 不是 URL,而是内容..如果您发现我的答案正确,请接受它作为答案..:)
  • 是的,你是对的,我在我的问题中也提到过,completeHtmlPage 是 HTML 内容。感谢您的回答。能否请您删除选项 2,以便我可以接受这个作为答案?
【解决方案2】:

你可以试试这个,

my_window = window.open("");
my_window.document.write(completeHtmlPage);

走向成功。

【讨论】:

    猜你喜欢
    • 2011-12-14
    • 1970-01-01
    • 2018-05-09
    • 1970-01-01
    • 2019-11-20
    • 2021-11-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多