Получение данных Json в отличном приложении - PullRequest
0 голосов
/ 17 мая 2018

Я работаю над этим приложением, которое будет внешним интерфейсом, потребляющим данные из других приложений, но, во-первых, оно будет отправлять учетные данные в другое приложение, уже запущенное в производство, и после того, как учетные данные будут приняты, оно должно быть перенаправлено в это приложение с пользователь вошел в систему.

Здесь возникает проблема. Я уже проверял отправку данных в другое приложение, данные принимаются как

     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"]

Параметры: на самом деле параметры получаются при печати groovy.

Я сейчас добавлю свой код 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/";
        });
    }
}

Я провожу эти тесты со спутником, у которого на компьютере запущено другое приложение.

Возможно, я делаю что-то не так, говоря концептуально. Я знаю, что отправка параметров в $ window.location.href = url + params будет работать, но я не хочу, чтобы учетные данные перемещались в URL. Я знаю, что могу их кодировать, но давайте попробуем что-то еще, прежде чем сдаваться, если это возможно.

1 Ответ

0 голосов
/ 19 мая 2018

Проблема здесь заключается в использовании неверного Content-Type для отправки.Сервер будет искать POST-переменные в теле.Правильное значение:

Content-Type: application/json

(вместо application/x-www-form-urlencoded;charset=utf8)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...