Windows 8 Win 8应用程序-不显示来自web服务的更新数据
我正在创建Win8应用程序,它可以访问web服务并在html页面上显示数据 html从web服务访问数据。第一次打开PAGE1时,数据被正确地从web服务检索,我从PAGE1上调用Windows 8 Win 8应用程序-不显示来自web服务的更新数据,windows-8,Windows 8,我正在创建Win8应用程序,它可以访问web服务并在html页面上显示数据 html从web服务访问数据。第一次打开PAGE1时,数据被正确地从web服务检索,我从PAGE1上调用window.location(“PAGE2.html)的按钮单击事件打开下一个页面PAGE2.html。但是当我导航回PAGE1.html时,这个PAGE1.html打开,但不显示更新的数据 PAGE1.html的PAGE1.js代码:在页面的onload函数上正确地从web服务获取数据 ready: functio
window.location(“PAGE2.html
)的按钮单击事件打开下一个页面PAGE2.html。但是当我导航回PAGE1.html时,这个PAGE1.html打开,但不显示更新的数据
PAGE1.html的PAGE1.js代码:在页面的onload函数上正确地从web服务获取数据
ready: function (element, options)
{
var textDisp= document.querySelector("#text"); //text is DIV id to display data
textDisp.innerText = "PAGE2";
document.querySelector("#myButton").onclick = function (args) {
WinJS.Navigation.navigate("/pages/page2/page2.html");
};
WinJS.xhr({
type: "GET",
url: "http://MyWebserice",
headers: { "Content-type": "application/json" },
}).then(function complete(request) {
var resdata = request.responseText;
textDisp.innerText = resdata;
}, function error(er) {
var err = er.statusText;
});
}
通过web服务将数据正确提交到数据库中;以下是PAGE2.html的PAGE2.js代码:
document.querySelector("#Submit").onclick = function (args) {
WinJS.xhr({
type: "POST",
url: "http://InsertData?username=" + un + "&password=" + pass + "",
headers: { "Content-type": "application/json" },
}).then(function complete(request) {
WinJS.Navigation.navigate("/pages/PAGE1/PAGE1.html");
}, function error(er) {
var err = er.statusText;
});
}
但PAGE1在成功添加数据后并没有显示数据库的刷新数据,我调用了
WinJS.Navigation.navigate(“/pages/PAGE1/PAGE1.html”)
然后在WinJS.xhr中转到PAGE1.html。因此,当您返回到PAGE1时,您看到的是数据,但它是旧数据?并且您看到请求再次通过第1页的WinJS.xhr发出?在第2页中发布后,您可以通过Fiddler或其他外部工具发出相同的HTTP请求,以确认在第2页中检索到了正确的数据吗我正在输入数据并传输到web服务,而不是检索。当我从Page2转到Page1时,我在Page1中看到了旧数据。问题是当我从另一个页面转到Page1时,通过WinJS.xhr在Page1上发出请求。我用vs2012调试了我的应用程序。同时,我检查了Fiddler web debugger。由此我得到的问题是:当我执行我的应用程序,Page1.html的xhr代码正在执行,web服务也在调用并从web服务获取正确的数据。但是当我转到另一个页面,即Page2.html并返回到我的Page1.html时,xhr代码正在执行,但我的web服务没有调用,而我的xhr Complete方法正在执行并获取旧数据。谢谢