Javascript 通过$.ajax获取数据我如何才能做到这一点;棱角;对。$http是否取代了$.ajax

Javascript 通过$.ajax获取数据我如何才能做到这一点;棱角;对。$http是否取代了$.ajax,javascript,jquery,ajax,angularjs,angularjs-routing,Javascript,Jquery,Ajax,Angularjs,Angularjs Routing,这是我的密码 .state("dynamic", { url: "/:name", controller : 'AppHomeCtrl', templateUrl: function (params){ var myURL = params.name + '.html'; var validPage = true; $.ajax({ url:

这是我的密码

.state("dynamic", {
        url: "/:name",
        controller : 'AppHomeCtrl',
        templateUrl: function (params){

            var myURL = params.name + '.html';

            var validPage = true;
            $.ajax({
                url: myURL,
                async: false })
            .done(function(data) {
                console.log(data);
                if (data.toLowerCase().indexOf("doctype") >= 0) {
                    validPage = false;
                }
            })

            if (!validPage) {
                return 'error.html';
            } else {
                return params.name + '.html';

            }
        },
这是否可以重写路由的状态(使用角度ui路由)以根据获取的页面是否具有doctype来获取页面

上面的代码工作得很好。但是我怎样才能用$http替换$.ajax呢?我肯定错过了什么

 $http.get(url).success(function(data) {
 if (data.toLowerCase().indexOf("doctype") >= 0) {
                validPage = false;
            }
 });

我需要将$http加载到更高的位置吗?等等。

我认为不可能在
config
块中使用服务,例如
$http


看起来您试图做的是处理应用程序不支持的URL请求。如果您使用的是而不是
$stateProvider
,则可以将所有不匹配的URL请求路由到
。否则()
,但您也可以在使用
$stateProvider
时模拟此行为。查看此stackoverflow以了解有关如何执行此操作的更多详细信息。

您是否注入了
$http
?@snahor
.state
.config
块中进行了配置,我不确定该块中是否有
$http
等服务。请查看以下内容:。在上一个示例中,注入了
$timeout
,并使用
templateProvider
代替
templateUrl