繁体   English   中英

可以在 Mozilla 中查看表单中的 JSON 数据,但不能在 Chrome 中查看吗?

[英]Can see JSON data in a form in Mozilla but not in Chrome?

这是更新的 Plnkr

我正在尝试使用 Angular js 将一个简单的 JSON 文件加载到表单中。 但是我在 Chrome 的文本框中没有看到任何数据,但我可以在 Mozilla 中看到。 对于 chrome,我收到以下错误

XMLHttpRequest 无法加载 file:///C:/Users/hp/Desktop/site/site.json。 跨源请求仅支持以下协议方案:http、data、chrome、chrome-extension、https、chrome-extension-resource。

我哪里错了?

  <!DOCTYPE html>
  <html ng-app="myApp">
  <head>
  <title>Hello</title>
  <script src="//ajax.googleapis.com/ajax/libs/angularjs/1.2.26/angular.min.js"></script>

  <script>
   myApp = angular.module('myApp',[]);
   myApp.controller('myController', function($scope,$http){
   $http.get('site.json').success(function(response){
        $scope.myData=response;
     });
    });
  </script>

  </head>
 <body ng-controller="myController">

   <div ng-repeat="data in myData">
      <input type="text" name="">{{data.siteno}}
      <input type="text" name="">{{data.sitename}}
   </div>
 </body>
 </html>

第一个错误

您忘记添加ng-app="myApp"

ng-app="myApp"

第二个错误

您正在调用site.json但您的文件名为data.json

$http.get('data.json')

第三个错误

您将response放入对象中,但数据位于response.data

$scope.myData=response.data;

解决方案

这是您更新的Plunkr

注意:你应该使用.then(function(resp){...}, function(err){...}); 而不是success()error()方法

发生这种情况是因为我直接尝试在没有任何服务器的情况下在本地运行。 解决这个问题的简单方法是下载一个适用于 chrome 的网络服务器插件,然后您可以从服务器 url 运行。 我认为 Mozilla 必须已经有一个不会引发此错误的内置插件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM