2017-10-13 79 views
0

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网站,

任何想法?

回答

1

很可能,这是跨域请求的问题。如果要承载不同的域请求,则需要配置服务器。在这种情况下,你可以测试它添加下面的代码(这将允许访问所有域):在响应

<% 
response.addHeader("Access-Control-Allow-Origin","*"); 
String aaa= request.getParameter("aaa"); 
... 
%> 

然后JSP将与所请求的资源和应对访问控制允许来源头。浏览器将检查标题中的来源并允许请求。

同时检查:Cross-Site Request Forgery

+0

非常感谢,您的解决方案正常工作。我将研究如何管理跨域请求。 – Erixx