2014-08-31 101 views
1

我有由後端創建的.json文件。現在我試圖使用Angular.js來發出ajax請求,所以我的前端可以使用我的.json文件中的數據。在發送ajax請求時使用Angular獲取.json文件時發生錯誤?

這裏是通向我.json文件:

C:\Users\Mykhaylo Vayvala\Desktop\carBuyer\topCarObj.json 

這裏是我的html文件:

<!DOCTYPE html> 
<html ng-app="MyApp"> 
    <head> 
     <title>Top cars</title> 
    <head> 
    <body ng-controller="PostsCtrl"> 
     <p>{{posts}}</p> 
     <script type="text/javascript" src="angular.min.js"></script> 
     <script type="text/javascript" src="carApp.js"></script> 
    </body> 
</html> 

這裏使用Angular.js我的JavaScript文件:

var app = angular.module("MyApp", []); 

app.controller("PostsCtrl", function($scope, $http) { 
    $http.get('topCarObj.json'). 
    success(function(data, status, headers, config) { 
     $scope.posts = data; 
    }). 
    error(function(data, status, headers, config) { 
     alert("AJAX failed") 
    }); 
}); 

當我在瀏覽器中運行我的html文件時,在控制檯中出現以下錯誤:

XMLHttpRequest cannot load file:///C:/Users/Mykhaylo%20Vayvala/Desktop/carBuyer/topCarObj.json. Cross origin requests are only supported for HTTP. angular.min.js:78 
Error: Failed to execute 'send' on 'XMLHttpRequest': Failed to load 'file:///C:/Users/Mykhaylo%20Vayvala/Desktop/carBuyer/topCarObj.json'. 
    at Error (native) 
    at file:///C:/Users/Mykhaylo%20Vayvala/Desktop/carBuyer/angular.min.js:78:466 
    at v (file:///C:/Users/Mykhaylo%20Vayvala/Desktop/carBuyer/angular.min.js:73:464) 
    at g (file:///C:/Users/Mykhaylo%20Vayvala/Desktop/carBuyer/angular.min.js:71:294) 
    at I (file:///C:/Users/Mykhaylo%20Vayvala/Desktop/carBuyer/angular.min.js:100:144) 
    at I (file:///C:/Users/Mykhaylo%20Vayvala/Desktop/carBuyer/angular.min.js:100:144) 
    at file:///C:/Users/Mykhaylo%20Vayvala/Desktop/carBuyer/angular.min.js:101:308 
    at k.$eval (file:///C:/Users/Mykhaylo%20Vayvala/Desktop/carBuyer/angular.min.js:112:32) 
    at k.$digest (file:///C:/Users/Mykhaylo%20Vayvala/Desktop/carBuyer/angular.min.js:109:121) 
    at k.$apply (file:///C:/Users/Mykhaylo%20Vayvala/Desktop/carBuyer/angular.min.js:112:362) 

我做了什麼錯,我該如何解決這個問題?

+0

不能使用XMLHttpRequest來獲得與絕對路徑本地主機文件。您必須使用** http://...**,即** http:// localhost:8080/file.json **。 – fntneves 2014-08-31 12:07:23

回答

2

主機應用程序到本地主機或嘗試其他瀏覽器。

對於鉻可以通過允許這樣的:

chrome.exe --allow-file-access-from-files 
+0

@MichaelVayvala你必須安裝像wamp或其替代品的服務器,然後將其託管在那裏。 – Yogesh 2014-08-31 12:15:21

+0

@MichaelVayvala現在你可以用上面的命令打開chrome http://stackoverflow.com/questions/4208530/xmlhttprequest-origin-null-is-not-allowed-access-control-allow-origin-for-file – Yogesh 2014-08-31 12:16:49

相關問題