В настоящее время у меня есть сайт laravel и я настроил API паспорта.поэтому у меня есть функция входа в систему:
public function login(Request $request)
{
$email = $request->get('email');
$password = $request->get('password');
$callback = $request->get('callback');
if ( Auth::guard('web')->attempt( [ 'email' => $email , 'password' => $password ] ) ) {
$user = Auth::user();
$token = $user->createToken('Token Name')->accessToken;
return response()->json($token)->setCallback( Input::get('callback') );
} else { return response()->json(['error' ], 401); }
}
, которая возвращает маркер API паспорт laravel.затем в приложении phonegap у меня есть следующее, чтобы использовать JSONP для возврата результата.
<script>
function submitform() {
var em = document.getElementById("email").value;
var pw = document.getElementById("pass").value;
$.ajax({
type: "POST",
url: "https://site.co.uk/api/login",
dataType: "jsonp",
jsonpCallback: 'callback_result',
jsonp: 'callback',
data: {
'email' : em,
'password' : pw,
'callback' : 'callback_result'
},
success:function(data){
alert("GOT DATA!");
alert(JSON.stringify(data));
},
error:function(data) {
alert("ERROR!!");
alert(JSON.stringify(data));
alert("ERROR ! CANNOT ADD COMMENT!");
},
});
}
function callback_result(data) {
alert("IN CALLBACK");
alert(data);
}
</script>
Я либо не получаю никакого вывода вообще, либо возникает ошибка сети - это правильный способ получить токен отпаспорт laravel для phonegap - как код phonegap не будет находиться на том же веб-сервере, что и сайт ??