Hello why its response "callback is not defined"
component 1:
console.log(getUserGps());
component 2:
import $ from 'jquery'
export const getUserGps = () => {
$.ajax({
url: "https://geolocation-db.com/jsonp",
jsonpCallback: "callback",
dataType: "jsonp",
success: function(location:any) {
let city = location.city
console.log('Pobrano z gps ' + location.city)
return city
}
})
}
jsonpCallback: "callback",
You explicitly told jQuery to tell the server to generate a JSONP program that calls a function named callback.
You didn't define that function.
Remove that line. Let jQuery generate the function from the success property with an automatic name instead.
The Problem you have here is, that your aync function has no return-value. What you could do is the following:
const getUserGps = () => {
return $.ajax({
url: "https://geolocation-db.com/jsonp",
jsonpCallback: "callback",
dataType: "jsonp",
}).then((location) => {
return location.city
})
}
Here you return the request as a promise then you can do the following in your second component:
getUserGps().then(data => {
console.log(data);
})
Here you have some more information in how async functions and promises work: https://www.w3schools.com/Js/js_promise.asp