我猜这是一个全新的Angular问题,但我认为这比看起来容易。
我有一个简单的html表单:
<div>
<form ng-submit="processUrls()">
<label>Urls to Process</label>
<button class="btn" style="margin-left:15em;">Process</button>
<br />
<textarea rows="10" cols="50" wrap="soft" ng-model="process.urls">
</textarea>
<label>Output:</label>
<input style="width:25em;" ng-model="output.outputText" />
</form>
</div>
和一个简单的功能:
$scope.processUrls = function() {
$http.get("http://localhost:4355/test1").then(function(response){
$scope.output.outputText = response.data;
},function(response){
alert("data = " + response.data + "\r\nstatus = " + response.status + "\r\nstatusText = " + response.statusText);
$scope.output.outputText = "Error: " + response.data;
});
};
它正在调用一个节点服务,它正在为每个调用运行并写入控制台,因此我确信它正在工作并被调用。这是:
// temp route for testing of Angular
server.route({
method: "GET",
path: "/test1",
handler: function(request, reply) {
return reply("Hello World").code(200);
}
});
但是,这似乎不起作用。我得到的全部是“错误:空”,我的警报几乎没有告诉我。所以,我想知道这是否与跨域某事有关,或者我是否只是缺少一些基本的东西。任何想法都将不胜感激。
V
答案 0 :(得分:0)
好的,所以只是在这里提供一个答案:这是一个CORS问题而且它是因为我只是将我的角度html文件加载到我的浏览器中而创建的。通过在我的节点服务中创建一个新的服务器路由和一个包含我所有Web文件的“静态”目录,这个问题就消失了。
我正在使用hapijs;静态路由如下所示:server.route({
method: "GET",
path: "/web/{param*}",
handler: {
directory: {
path: "static"
}
}
});