我正在开发这个应用程序,它将是一个前端消耗来自其他应用程序的数据,但首先,它会将凭据发布到已经在生产中运行的另一个应用程序,并且在接受凭据后,它应该重定向到该应用程序用户已登录。
这就是问题所在。我已经测试过将数据发送到其他应用程序数据正在接收
params: [{"j_username":"username","j_password":"password","instance":"http:8080/TERA/authAuto"}:, action:authAuto, controller:login]
username: null
Prueba: null
我试图接受这一点,因为它一切都没有成功
request.JSON.j_username
params.j_username
params["j_username"]
params:实际上是由常规打印接收的params。
我现在添加我的angularJs代码
vm.login = function(){
$http({
method: 'POST',
url: "http://t0002161750:8080/TERA/authAuto",
data: {j_username: vm.user.username, j_password: vm.user.password, instance: "http://t0002161750:8080/TERA/authAuto"},
headers:{
'Content-Type': 'application/x-www-form-urlencoded;charset=utf8'
}
}).success(function(response){
$window.location.href = "http://t0002161750:8080/TERA/";
});
}
}
我正在与其他应用在PC上运行的同伴进行此测试。
从概念上讲,我可能做错了。我知道通过在$ window.location.href = url + params中发送params会起作用,但我不希望凭证在URL中传播。我知道我可以对它们进行编码但是如果有可能的话,我们可以在放弃之前尝试别的东西
答案 0 :(得分:0)
此处的问题是使用错误的Content-Type
进行提交。服务器将在正文中查找POST-vars。适当的使用价值是:
Content-Type: application/json
(而不是application/x-www-form-urlencoded;charset=utf8
)