2017-10-13 82 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