Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [jquery][ajax][jsonp] wysyłanie i odbieranie danych, zewnętrzna domena
sekwenser
post
Post #1





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 16.08.2009

Ostrzeżenie: (0%)
-----


Witam,

chcę wysyłać zapytania do zewnętrznych serwisów i uzyskiwać wyniki które zaprezentuje na swojej stronie,
wszystko w ajaxie, użytkownik uzupełnia formularz i otrzymuje wyniki.. coś jak google ajax search api..

rozwiązanie które znalazłem to JSONP..
dla celów stricte testowych pod nóż poszła strona dict.pl
dict.pl proponuje nam wstawienie na swoją stronę formularza.. oczywiście po wyniki jesteśmy przekierowani na ich stronę.. thx..
pomijając w tej chwili kwestie praw autorskich, licencji itp, tylko w celach badawczych napisałem coś takiego:

  1.  
  2. <html>
  3. <head>
  4. <script type="text/javascript" src="jquery-1.4.1.min.js"></script>
  5.  
  6. <script type="text/javascript">
  7. $(document).ready(function() {
  8. $('form').submit(function() {
  9. $.getJSON('http://www.dict.pl/dict?'+$(this).serialize()+'&callback=?', function(data) {
  10. });
  11. return false;
  12. });
  13. });
  14. </script>
  15.  
  16. </head>
  17.  
  18. <form style="margin: 0;" method="get" action="http://www.dict.pl/dict" accept-charset="utf-8">
  19. <div style="width: 160px; padding: 3px; border: 1px outset black; background-color: #c62929; font-family: Verdana, Serif; font-size: 10px; color: #082963; text-align: center;">
  20. <div style="width: 100%; background-color: #082963; padding: 3px 0 3px 0;">
  21. <a style="color: white; font-size: 15px; text-decoration: none; font-weight: bold;" href="http://www.dict.pl" title="English-Polish Dictionary">DICT</a>
  22. <br/>
  23. <a style="color: white; text-decoration: none; font-size: 11px;" href="http://www.dict.pl" title="English-Polish Dictionary">English-Polish Dictionary</a>
  24. </div>
  25. <div>
  26. <fieldset style="border: 0; color: white">Enter English or Polish term:
  27. <br/>
  28. <input style="width: 97%;" type="text" name="word" title="Enter your term" />
  29. <br/>
  30. <input style="cursor: pointer; color: #082963; font-size:90%; border-color: #082963; border-style: beveled; border-width: 2px; font-weight: bold;" type="submit" value="Search" />
  31. <input type="hidden" name="lang" value="EN" />
  32. </div>
  33. <div style="text-align: right;">
  34. <a style="color: white; text-decoration: none;" href="http://www.adips.pl" title="ADIPS">System &copy; ADIPS</a>
  35. </div>
  36. </div>
  37. </form>
  38.  
  39. </html>
  40.  


jak widać function(data) {} jest pusta.. ale nie obróbka danych jest teraz istotna, tylko syntax error jaki się pojawia..
wynikiem submita jest dynamiczne dodanie do head zewnętrznego skryptu js.. tylko zdaje się, że skrypt ten to czysty html :/
nie rozumiem tego.. nie jestem specjalistą w dziedzinie a w google nie znalazłem jawnej odpowiedzi.. jedynie wskazanie na JSONP..

Tak więc, pytanie moje: jak uzyskać zamierzony efekt ?
mile widziane jakieś przykłady, np modyfikacja tego kodu
strona chodzi na xampie, wystarczy sciągnąć bibliotekę jquery

Myślę, że temat jest ciekawy, z góry dziękuję za pomoc :)


Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
sekwenser
post
Post #2





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 16.08.2009

Ostrzeżenie: (0%)
-----


Cytat(erix)
Nawet jak użyjesz iframe, to przeglądarki ograniczają interakcję.

ewentualne użycie iframe i tak byłoby chyba problematyczne w takiej formie komunikacji, bowiem odpowiedź serwera przekazywana jest na stronę
jako js w sekcji head.. (bez względu na to czy to js czy nie, jak już wyżej ustaliliśmy, a w tym wypadku odpowiedzią jest html i co za tym idzie syntax error przy probie wykonania js (jak już wyżej ustaliliśmy ;)) )

Cytat(erix)
najpewniejszym rozwiązaniem jest skrypt-proxy po stronie serwera na Twojej domenie.

skrypt-proxy - ciekawe, próbowałem coś wygooglać na ten temat, z średnimi wynikami, później spróbują jakiś lepszych zapytań
chyba, że rzucisz jakimś linkiem :)
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 11.10.2025 - 20:56