在我使用JQueryMobile制作的网页应用中,我插入了.xml文件的内容。由于ajax,只有页面获得刷新才会加载.xml文件。所以我试图通过ajaxComplete执行该函数。不幸的是,该功能每毫秒执行一次。但我希望这个功能只启动一次。我错了什么想法?
<script type="text/javascript" >
$( document ).ajaxComplete( function()
{
$.get("folder/job", function(XMLjobArray){
$(XMLjobArray).find("job").each(function(){
var $myJob = $(this);
var title = $myJob.attr("title");
var url = $myJob.attr("url");
$("#a").append('<li data-corners="false" data-shadow="false" data-iconshadow="true" data-wrapperels="div" data-icon="arrow-r" data-iconpos="right" data-theme="d" class="ui-btn ui-btn-icon-right ui-li-has-arrow ui-li ui-last-child ui-btn-up-d"><div class="ui-btn-inner ui-li"><div class="ui-btn-text"><a rel="external" target="_blank" data-ajax="false" href="'+url+'" class="ui-link-inherit">'+title+'</a></div><span class="ui-icon ui-icon-arrow-r ui-icon-shadow"> </span></div></li>'); })
});
});
要获得更好的视图,请查看此处:http://pastebin.com/Aa3b2s9W
答案 0 :(得分:0)
jQuery.get()
(或$.get()
)方法使用HTTP GET请求从服务器加载数据。 (见https://api.jquery.com/jQuery.get/)。
因此,在这种情况下,无论何时加载文件,都要求jQuery再次获取该文件。
我不确定你真的想要加载.xml文件,但是对$ .get()的调用应该在其他上下文中完成。例如,您可以执行以下操作:
$(document).ready( function(){
$.get("folder/job.xml", function(data){
/* Do whatever you want with your data */
});
});
您还可以使用“加载”事件($(document).ready(...)
)。在这两种情况下,无论何时加载页面,它都会获取XML文件并对其进行处理。只有在您的页面加载时才会附加。