Próbuję zrobić żądania POST za pomocą jQuery za pomocą obietnicy ES6:jQuery ajax z ES6 Promises
Mam funkcję:
getPostPromise(something, anotherthing) {
return new Promise(function(resolve, reject) {
$.ajax({
url: someURL,
type: 'post',
contentType: 'application/json; charset=utf-8',
data: JSON.stringify(
something: something,
anotherthing: anotherthing
}),
dataType: 'json',
success: resolve,
error: reject
});
});
}
i nazywam go tak:
getPostPromise(
'someFooStuff',
'someBarStuff'
).then(
function(returnedData) {
console.log("Good: ", returnedData);
},
function(responseObject) {
console.log("Bad: ", responseObject);
}
).catch(
function(errorThrown) {
console.log("Exception: ", errorThrown);
}
);
Mój serwer zwraca odpowiedź zgodnie z oczekiwaniami, ponieważ treść żądania jest w formacie JSON, ale moje wyjście konsoli to:
Dobra: niezdefiniowana
Dlaczego nie otrzymuję zwróconych danych?
Dziękuję wszystkim/każdemu za pomoc.
--- EDIT --- UPDATE
mam zmniejszone moje js tylko:
import $ from 'jquery';
$.get('http://localhost:8008/api/user')
.done(function(data) {
console.log(data);
});
ja wciąż nieokreślone jako wyjście. Jeśli otworzę żądanie na karcie sieci, widzę obiekt odpowiedzi z poprawnymi danymi. Wniosek został złożony, mój serwer jest szczęśliwy i odpowiada, a wyniki są w mojej przeglądarce, ale parametr danych wykonanych jest niezdefiniowany. Jestem zaskoczony.
--- UPDATE 2 - ROZWIĄZANIE FOUND ---
odkryłem, że problem był z użyciem: https://github.com/jpillora/xdomain obejść CORS. Wydawać by się mogło, że biblioteka ta jakoś zawraca. Usunąłem go i będę prawidłowo wdrażał CORS i do diabła z przeglądarkami, które go nie obsługują.
I nie można odtworzyć swój błąd. –