Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 无法使用get-post从服务器加载json文件_Angularjs_Api - Fatal编程技术网

Angularjs 无法使用get-post从服务器加载json文件

Angularjs 无法使用get-post从服务器加载json文件,angularjs,api,Angularjs,Api,嘿,我正在尝试使用angular的$http get函数从位于“ 但我似乎无法访问该文件。当我在本地目标中使用该文件时,代码工作正常 我的代码如下所示 [{"actual_name":"dog1.htm","shown_name":"dog1","src":"images/dog1.jpg"}, {"actual_name":"dog2.htm","shown_name":"dog2","src":"images/dog2.jpg"},

嘿,我正在尝试使用angular的$http get函数从位于 但我似乎无法访问该文件。当我在本地目标中使用该文件时,代码工作正常

我的代码如下所示

[{"actual_name":"dog1.htm","shown_name":"dog1","src":"images/dog1.jpg"},
                          {"actual_name":"dog2.htm","shown_name":"dog2","src":"images/dog2.jpg"},
                           {"actual_name":"dog3.htm","shown_name":"dog3","src":"images/dog3.jpg"},
                           {"actual_name":"dog7.htm","shown_name":"dog7","src":"images/dog7.jpg"},
                           {"actual_name":"dog4.htm","shown_name":"dog4","src":"images/dog4.jpg"},
                           {"actual_name":"dog5.htm","shown_name":"dog5","src":"images/dog5.jpg"},
                           {"actual_name":"dog6.htm","shown_name":"dog6","src":"images/dog6.jpg"},
                           {"actual_name":"dog8.htm","shown_name":"dog8","src":"images/dog8.jpg"}]
这是负责获取数据的角度文件

app.controller('myCtrl', function($scope, $http) {
    $http({
        method : "GET",
        url : "http://localhost/week10/resources/dog.json"
    }).then(function mySuccess(response) {
        $scope.dogObj = response.data;
    }, function myError(response) {
        $scope.dogObj = response.statusText;
    });
}); 
显示这些字符的代码

<ul class="row">
    <li class="col-lg-4" ng-repeat="x in dogObj">

            <div class="thumbnail">
             <a href="view/view2/{{x.actual_name}}"> <img src="{{x.src}}" ></a>
            </div>

     </li>
</ul>
当我更改 url:dog.json,因为本地目标中也有一个dog文件

但是当我把它改成时,网站就不工作了

如果我简单地将文件放入浏览器中,就会显示json文件


浏览器检查控制台显示xml解析错误。

不确定这是否是您的问题,但有时您从服务器获得的不是json,尽管您可能认为应该是json。我这样做是为了设置标题。这仅仅是因为register用文本应答,login用json应答

const registerHttpOptions = {
  headers: new HttpHeaders({ 
    "Content-Type": "application/json"
  }),
  responseType: "text" as "json"
};

const loginHttpOptions = {
  headers: new HttpHeaders({ 
    "Content-Type": "application/json"
  })
};
我还建议您学习使用,以查看您从服务器获得的实际响应以及响应的格式。 我假设您已经检查了F12/网络/头,F12/网络/响应负载


有趣的阅读跨站点脚本问题中的标题设置?我必须为chrome安装一个支持CORS的扩展,以访问来自“其他地方”的REST服务——不同端口或完全不同机器上的本地主机。试试console.log()-当文件到达你的取回手柄时,你可以给我一个例子吗?请发布准确的错误消息。查看开发人员控制台的“网络”选项卡,查看标题是否正确。不应该有XML解析错误,因为内容类型应该是
application/json
。它说accept:application/json,text/plain,/在chrome中,如果这是您的问题,调试器将抛出一条关于它的错误消息。您还可以添加一个
console.log()
调用,该调用在您的
$scope.dogObj=response.data之后吐出部分记录语句