我觉得我缺少一些小东西。这是我的index.html:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" ng-app="ImageViewerApp">
<head>
<title></title>
<script type="text/javascript" src="/scripts/angular.js"></script>
<script type="text/javascript" src="/scripts/Controller.js"></script>
</head>
<body ng-controller="ImageViewerCtrl">
<p>{{Value}}</p>
</body>
</html>
我的Controller.js:
var ImageViewer = angular.module('ImageViewerApp', []);
ImageViewer.controller('ImageViewerCtrl', [ '$scope', '$http', ImageViewerCtrl ]);
function ImageViewerCtrl($scope, $http) {
$scope.Value = 'Test';
$http.get('data/job.json').success(function (data) {
$scope.Value = data.Test;
}).error(function (data, status, headers, config) {
data = data;
});
}
我的job.json:
{
Test: 'Hello, World!'
}
而我的Web.config:
<?xml version="1.0"?>
<configuration>
<system.web>
<compilation debug="true" targetFramework="4.5" />
<httpRuntime targetFramework="4.5" />
</system.web>
<system.webServer>
<staticContent>
<mimeMap fileExtension=".json" mimeType="application/json"/>
</staticContent>
</system.webServer>
</configuration>
我在VS 2012中工作,我做了一个简单的空白网站。调试站点可以在IIS Express和IE 10中运行它。其他浏览器可能也可以运行,但是最终将使用的项目将是仅在IE 10上运行的内部Web应用程序。
我正在尝试做类似于Angular Tutorial如何对.json文件发出AJAX请求以模拟Web请求的操作。我最初遇到一些关于没有为.json文件类型定义处理程序的问题,但是我mimeMap
在Web.config中添加了一个,现在提琴手报告/data/job.json的请求返回为200或304(未修改),但promise的错误部分是唯一被调用过的部分。
data = data;
那里只是为了让我可以在Visual Studio中放置一个断点。data
,status
和headers
都是未定义的,并且config似乎并没有说什么有用的东西,但这是JSON.stringify(config)
如果有帮助的结果:
{"method":"GET","transformRequest":[null],"transformResponse":[null],"url":"/data/job.json","headers":{"Accept":"application/json, text/plain, */*"}}
我做错了什么error
而不是打电话给我success
呢?
编辑:徘徊在调用堆栈中并查看angular.js内的状态,我发现在angular的肠子中确实有我期望的请求job.json的响应,但是稍后在堆栈中有一个错误(不能成功传递给我的错误回调),只是说Invalid Character
。我不知道它会挂在什么角色上。这并没有帮助我找出问题所在,但也许可以在这里找到答案。
{Test: "value"}
以RAW格式返回时,它不是有效的JSON。您将需要在周围添加适当的“(引号)” key
。
{"Test": "value"}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句