简单AngularJS $ http.get不与JSP页面
问题描述:
1工作/我在Eclipse项目创造了这个myPage.jsp页面命名erixx:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE>
<html><head></head>
<body>
<%
String aaa= request.getParameter("aaa");
String bbb= request.getParameter("bbb");
out.println("Message received ! : aaa : " + aaa + ", bbb : " + bbb);
%>
</body>
</html>
2 /这个网址在Firefox表明JSP作品细:
http://localhost:8080/erixx/myPage.jsp?aaa=123&bbb=456
=>接收到的消息! :aaa:“+ 123 +”,bbb:“+ 456
3 /我试图从另一个项目访问相同的jsp页面做了inito eclipse,AngularJS代码被执行,但没有返回值aaa和bbb : 我用这里给出
https://docs.angularjs.org/api/ng/service/ $ HTTP#得到
<html> <head> <title>Your Shopping Cart</title>
<script src="js/angular.min.js"></script>
<script>
var app = angular.module('myApp', []);
app.controller("CartController", function($scope, $http) {
$http({
method: 'GET',
url: 'http://localhost:8080/erixx/myPage.jsp?aaa=123&bbb=456'
}).then(function successCallback(response) {
$scope.myData = "response : " + response.data;
$scope.statuscode = response.status;
}, function errorCallback(response) {
$scope.myData = "reponse : " + response.data;
$scope.statuscode = "An error occured";
});
});
</script>
</head>
<body ng-app="myApp">
<div ng-controller="CartController">
{{ myData }}
</br>
{{ statuscode }}
</div>
</body>
</html>
=>响应的例子:空 发生错误
它应该工作,因为:
“2 /” 显示,jsp的正常工作,
角代码来自angularJS网站,
任何想法?
答
很可能,这是跨域请求的问题。如果要承载不同的域请求,则需要配置服务器。在这种情况下,你可以测试它添加下面的代码(这将允许访问所有域):在响应
<%
response.addHeader("Access-Control-Allow-Origin","*");
String aaa= request.getParameter("aaa");
...
%>
然后JSP将与所请求的资源和应对访问控制允许来源头。浏览器将检查标题中的来源并允许请求。
非常感谢,您的解决方案正常工作。我将研究如何管理跨域请求。 – Erixx