在新页面上加载 ajax 成功数据
Posted
技术标签:
【中文标题】在新页面上加载 ajax 成功数据【英文标题】:Load ajax success data on new page 【发布时间】: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文档
成功时重定向页面
【参考方案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);
走向成功。
【讨论】:
以上是关于在新页面上加载 ajax 成功数据的主要内容,如果未能解决你的问题,请参考以下文章