我的主页在这里: http://www.mydomain.com/main/main.php
我的登录页面在这里: http://www.mydomain.com/main/pages/login.php
Main.php使用ajax来获取数据以响应tap事件。这工作正常,直到我导航到我的登录页面然后回到我的主页面。进入登录页面并返回后,相对路径搞砸了,以致ajax在错误的位置查找服务器文件。
这里是ajax:
1. function get_more_data() {
2. more_data_index += 15;
3. var formData = "index=" + more_data_index;
4. $.ajax({
5. type: "POST",
6. url: "genxml.php", // file located here: http://www.mydomain.com/main/genxml.php
7. cache: false,
8. data: formData,
9. dataType: "xml",
10. success: showFiles3,
11. error: onErrorMoreData
12. });
13. }
从login.php导航回main.php后,ajax尝试发布到错误的位置: http://www.mydomain.com/main/pages/genxml.php
(genxml.php不在“pages”子目录中;它位于主目录中。)
我尝试更新ajax以使用绝对路径: url:“http://www.mydomain.com/main/genxml.php”
这使得帖子成功,但我的数据解析失败,因为亲戚路径在主文件中用于图像之类的东西。所以不是从这里获取图像:http://www.mydomain.com/main/脚本试图从这里获取图像:http://www.mydomain.com/main/pages/
我发现有一些帖子与人有类似的问题,但我没有遇到过解决方案。我也试过阅读jquerymobile文档,jquery开发人员很可能试图在这里讨论这个问题,但我承认我并不完全理解这个页面上的所有内容: http://jquerymobile.com/demos/1.0b3/#/demos/1.0b3/docs/pages/page-navmodel.html
如果有人可以提供帮助,我会非常感激。感谢。
P.S。此问题发生在Android和Google Chrome上,但不会发生在Firefox中。
答案 0 :(得分:1)
我已经创建了一个您正在尝试做的工作示例。你应该能够看到这一点,看看我做了什么。一定要检查master.js。我认为让它在你的情况下工作的关键是在“pageshow”事件中嵌套ajax调用,以确保你的baseURL已经更新。您可以在http://www.roughlybrilliant.com/stackoverflow/7372909.7z
下载该示例View the example正在使用相对网址的weather.xml。
$("div").live("pageshow", function(){
var $page = $(this);
get_more_data();
});
答案 1 :(得分:0)
你为什么不使用其中一个: