gpt4 book ai didi

javascript - 如何在 Cordova 中加载相对于基本 href 的 XHR 请求?

转载 作者:行者123 更新时间:2023-11-28 00:49:52 24 4
gpt4 key购买 nike

我正在使用 AngularJS,我有类似的东西:

myApp.config([
'$stateProvider', '$urlRouterProvider', '$locationProvider', '$sceProvider', 'appConstants', function($stateProvider, $urlRouterProvider, $locationProvider, $sceProvider, appConstants) {
$sceProvider.enabled(false);
$urlRouterProvider.otherwise('/login');
$stateProvider.state('login', {
url: '/login',
templateUrl: "/templates/login.html"
}).state('tos', {

当它在 Cordova 中加载时,它会尝试从 file:///templates/login.html 获取它但实际上它应该从 file:///Users/ssiddiqui/Library/Developer/CoreSimulator/Devices/5BFA4F09-2C0A-4916-9D08-21D8BDC9E0A8/data/Containers/Bundle/Application/12B77264-BCB1-4DAA-B1FA-8BC4033ADFAC/HelloWorld.app/www/templates/login.html 获取它自从:

<base href="file:///Users/ssiddiqui/Library/Developer/CoreSimulator/Devices/5BFA4F09-2C0A-4916-9D08-21D8BDC9E0A8/data/Containers/Bundle/Application/12B77264-BCB1-4DAA-B1FA-8BC4033ADFAC/HelloWorld.app/www/">

那么我怎样才能实现这一点呢?

最佳答案

在 http 拦截器中,特别是请求拦截器中,如果 url 以 .html 结尾,您可以调整 url

步骤

  1. 获取托管地址

    var hostPath = document.location.pathname.substring(0, document.location.pathname.length - 1);`
  2. 更改以 .html 结尾的 URL

        if (config.url.indexOf(".html") !== -1) {
    config.url = hostPath + config.url;
    }

完整的请求拦截器如下所示

    var requestInterceptor = function (config) {
var hostPath = document.location.pathname.substring(0, document.location.pathname.length - 1);
if (config.url.indexOf(".html") !== -1) {
config.url = hostPath + config.url;
}
return config || $q.when(config);
};

设置

csapp.factory('MyHttpInterceptor', function ($q){
var requestInterceptor = function (config) {
var hostPath = document.location.pathname.substring(0, document.location.pathname.length - 1);
if (config.url.indexOf(".html") !== -1) {
config.url = hostPath + config.url;
}
return config || $q.when(config);
};
return {
request: requestInterceptor
}
})

csapp.config(function(){

$httpProvider.interceptors.push('MyHttpInterceptor');

})

关于javascript - 如何在 Cordova 中加载相对于基本 href 的 XHR 请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26912758/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com