无法加载* .json文件:(找不到404文件)

时间:2017-02-28 09:03:46

标签: angularjs asp.net-mvc openrainbowapi

我正在尝试使用ASP.NET MVC应用程序在我的AngularJS中设置openrainbow API。有两种配置和连接openrainbow API的方法。 With AngularJSWithout AngularJS

我在没有AngularJS的情况下进行了配置,它运行正常。但我想配置它并与AngularJS建立联系。

以下是我在API Documentation中使用的代码。

AngularJS控制器

var sample = angular.module('sample', ['sdk']);

sample.controller("sampleController", [
  "rainbowSDK", 
  function(sdk) {
    "use strict";

    var onReady = function onReady() {
      console.log("[DEMO] :: Rainbow SDK is ready!");
    };

    var onLoaded = function onLoaded() {
      console.log("[DEMO] :: Rainbow SDK has been loaded!");

      sdk.initialize().then(function() {
        console.log("[DEMO] :: Rainbow SDK is initialized!");
      }).catch(function() {
        console.log("[DEMO] :: Something went wrong with the SDK...");
      });
    };

    $rootScope.$on(sdk.RAINBOW_ONREADY, onReady);

    $rootScope.$on(sdk.RAINBOW_ONLOADED, onLoaded);
  }
]);

HTML视图

<!DOCTYPE html>
<html ng-controller="sampleController">
<head>
    <title>OpenRainbow API</title>
</head>
<body>

    <script src="//api.openrainbow.com/sdk/web/libs/loader-sdk.min.js" data-main="./config.json"></script>

</body>
</html>

config.json文件

{
    "libraries": {
        "prerequisites": [
            "//code.jquery.com/jquery-2.1.3.min.js",
            "//cdn.jsdelivr.net/momentjs/2.15.1/moment-with-locales.min.js",
            "//cdnjs.cloudflare.com/ajax/libs/angular.js/1.5.7/angular.min.js"
        ],
        "sdk": {
            "official": [
                "//api.openrainbow.com/sdk/web/libs/vendors-sdk.min.js",
                "//api.openrainbow.com/sdk/web/libs/rainbow-sdk.min.js"
            ],
            "default": "official"
        },
        "after": [
        ]
    },
    "app": {
        "bootstrap": "sample",
        "key": {
            "appID":"",
            "appSecret":""
        },
        "js": [
            "./src/js/sdkSampleApp.js",
            "./src/js/components/connection/connectionCmp.js"
        ],
        "css": [
            "src/styles/sdkSampleApp.css",
            "src/js/components/connection/connectionCmp.css"
        ]
    },
    "settings": {
        "verboseLog": true,
        "disableCache": true,
        "enableLoader": true
    }
}

控制台输出:

enter image description here

data-main属性未从路径加载 config.json 文件。文件的路径是正确的,因为该路径上存在文件。

1 个答案:

答案 0 :(得分:1)

我使用以下方法让它工作。在我的项目的web.config文件中,我为MIME Types添加了以下行以允许所有JSON文件。现在它工作得非常好。

<system.webServer>
    <staticContent>
        <mimeMap fileExtension=".json" mimeType="application/json; charset=UTF-8" />
    </staticContent>
</system.webServer>

控制台输出:

enter image description here