witam
chciałbym spytać o taką rzecz, w JavaScripcie i jQuery jestem stosunkowo nowy, szczególnie w tym drugim. Stworzyłem jakiś prosty REST w Springu (java) i url:
Zwraca mi bardzo prostego JSON'a:
{"name":"Maciej","lastname":"NowyJedenUser"}
(wcześniej dałem też więcej tych obiektów (bo w Springu mam to jako obiekt User z polem name i lastname) ale zmieniłem na 1 żeby było na początek prościej :P)
I teraz chciałbym przez jQuery/javascript (nie wiem co będzie bardziej "na topie") te dane jakos zebrać i wrzucić do obiektu javascriptowego zeby potem wyswietlic chocby liste użytkowników zwróconą z JSONa w tabeli na stronie.
Robie coś takiego:
<!DOCTYPE html>
<html>
<head>
<title>JSON Parsing</title>
<script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.11.0.min.js"></script>
</head>
<body>
<script>
$(document).ready(function(){
$.ajax({
url: 'http://localhost:8080/main/users',
dataType: "application/json",
success: (function(data){
$('#tabela').append('<tr><td>' + data.name + '</td><td>' + data.lastame + '</td></tr>');
})
});
});
</script>
<p id="click">click here</p>
<table id="tabela" style="border: 1px solid black;">
<tr><td>Test</td></tr>
</table>
</body>
</html>
Z moich obserwacji wynika ze "success:" się w ogóle nie wykonuje.
W chrome pod F12 mam coś takiego: (po otwieraniu strony z poziomu phpStorm)
XMLHttpRequest cannot load http://localhost:8080/main/users. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:63342' is therefore not allowed access.
Jak otworze nie phpStormem tylko wejde po prostu w plik index.html to pokazuje się to samo, tylko zamiast 'http://localhost:63342' mamy 'null'
Poczytałem troche na temat tego błędu, ale nie łapie jak go okiełznać :)
Kombinuje jak koń pod góre na różne sposoby, ale mi coś nie idzie. Mógłbym prosić o drobne rozjaśnienie sprawy?
pozdrawiam i dzięki! ;)
edit:
a tak btw. jak mam success: function(data){..code..} to skąd javascript wie, że ma dane pobrane umiescić w tym "data" jako obiekt(dobrze rozumiem?) to jakas predefiniowana zmienna dla zapytan $.ajax(); gdzie wrzucane jest to co otrzyma z url?
A w ogóle wiem, że jQuery posiada getJSON(); i parseJSON(); - próbowałem, ale gdzieś musze robić błąd że nie bangla