ace admin ajax加载页面,循环加载首页的解决办法

ace admin 1.4

出现循环加载,主要是因为找不到页面,

  

需要ajax加载的div

<div class="page-content-area" data-ajax-content="true">
	<!-- ajax content goes here -->
</div>

修改ace-1.4.0\assets\js\src\ace.basics.js

var demo_ajax_options = {
	 'close_active': true,
	 
	 close_mobile_menu: '#sidebar',
	 close_dropdowns: true,
	 
	 'default_url': 'page/index',//default hash
	 'content_url': function(hash) {
		//***NOTE***
		//this is for Ace demo only, you should change it to return a valid URL
		//please refer to documentation for more info

		if( !hash.match(/^page\//) ) return false;
		var path = document.location.pathname;

		//for example in Ace HTML demo version we convert /ajax/index.html#page/gallery to > /ajax/content/gallery.html and load it
		if(path.match(/(\/ajax\/)(index\.html)?/))
			return path.replace(/(\/ajax\/)(index\.html)?/, '/ajax/content/'+hash.replace(/^page\//, '')+'.html') ;

		//for example in Ace PHP demo version we convert "ajax.php#page/dashboard" to "ajax.php?page=dashboard" and load it
		return path + "?" + hash.replace(/\//, "=");
	  }			  
}

 修改为自己的逻辑

'default_url': '/welcome',

return contextPath + hash; (contextPath是预置的)

		var demo_ajax_options = {
			 'close_active': true,
			 
			 close_mobile_menu: '#sidebar',
			 close_dropdowns: true,
			 
//			 'default_url': 'page/index',//default hash
			 'default_url': '/welcome',//default hash
			 'content_url': function(hash) {
//				//***NOTE***
//				//this is for Ace demo only, you should change it to return a valid URL
//				//please refer to documentation for more info
//
//				if( !hash.match(/^page\//) ) return false;
//				var path = document.location.pathname;
//
//				//for example in Ace HTML demo version we convert /ajax/index.html#page/gallery to > /ajax/content/gallery.html and load it
//				if(path.match(/(\/ajax\/)(index\.html)?/))
//					return path.replace(/(\/ajax\/)(index\.html)?/, '/ajax/content/'+hash.replace(/^page\//, '')+'.html') ;
//
//				//for example in Ace PHP demo version we convert "ajax.php#page/dashboard" to "ajax.php?page=dashboard" and load it
//				return path + "?" + hash.replace(/\//, "=");
				 if(hash==""){
					 if(window.Pace && Pace.running) Pace.stop();
					 $(this).ace_ajax('stopLoading', true);
				 }
				 return contextPath + hash;
			  }			  
		}

菜单栏说明

<a data-url="/welcome" href="#/welcome">
	<i class="menu-icon fa fa-tachometer"></i>
	<span class="menu-text"> Dashboard </span>
</a>

href是链接

data-url 当前页面地址与之对应时高亮选中

参考:

Ace Admin 使用教程

https://www.cnblogs.com/LeeScofiled/p/6733625.html

猜你喜欢

转载自happyqing.iteye.com/blog/2410216
ACE