![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 6.02.2010 Ostrzeżenie: (0%) ![]() ![]() |
Próbuję napisać skrypt, który prześle dane post na inną stronę za pomocą ajax'a, szukałem już trochę na ten temat w internecie ale znalazłem tylko, e przez JSNOP da się przesłać dane GET i można na dodatek jakoś to oszukać i przesłać także POST, więc jak to zrobić ? Takowy kod nie działa:
|
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 70 Pomógł: 1 Dołączył: 25.04.2009 Ostrzeżenie: (0%) ![]() ![]() |
No i teraz w twoim pliku test.php:
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 6.02.2010 Ostrzeżenie: (0%) ![]() ![]() |
ani tak:
ani tak:
nie działa :/ Ten post edytował McFly_PM 5.01.2011, 21:45:08 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 2 592 Pomógł: 445 Dołączył: 12.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
AJAX ma ograniczenie tylko do tej samej domeny. Zatem trzeba to zrobić dookoła. Przesłać GET jest łatwo, bo można dodać element do drzewa DOM (np obrazek) z adresem src wskazanym w linku. Z przesłaniem zmiennych POST jest trudniej. Najłatwiej zrobić to przez swoje niby-proxy. Czyli skrypt np php na serwerze z którego uruchamiana jest strona przejmuje żądania ajaxowe i przekazuje je do innego serwera przykładowo przez cURL.
-------------------- |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 589 Pomógł: 91 Dołączył: 22.05.2008 Skąd: Gliwice Ostrzeżenie: (0%) ![]() ![]() |
...albo ukryty formularz i odpalenie zdarzenia submit
![]() -------------------- Moja gra - scraby.io
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 2 592 Pomógł: 445 Dołączył: 12.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
...albo ukryty formularz i odpalenie zdarzenia submit ![]() Ale w iframe, bo zwykły spowoduje przeładowanie strony -------------------- |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 6.02.2010 Ostrzeżenie: (0%) ![]() ![]() |
...albo ukryty formularz i odpalenie zdarzenia submit ![]() takie proste a ja na to nie wpadłem ![]() Nie będę szukał, zadam tu pytanie: Zrobić formularz cały w iframe, czy można formularz zrobić poza iframe a w iframe tylko wynik zobaczyć ? EDIT: napotkałem problem, ponieważ jak dam:
i iframe prowadzi do lokalnej strony, to działa bez problemu, ale jeśli strona jest na zewnątrz, to zwraca null, jak to zrobić ? Teraz włączyłem konsole w przeglądarce i spostrzegłem: Cytat Unsafe JavaScript attempt to access frame with URL http://tallos.pl/test.php from frame with URL http://127.0.0.1/vote/orders.php. Domains, protocols and ports must match. Grrr, szukałem, szukałem i nie nalazłem jak oszukać to i pobrać zawartość ifram'a czy naprawdę nie ma żadnego rozwiązania ? Ten post edytował McFly_PM 7.01.2011, 02:47:55 |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 898 Pomógł: 80 Dołączył: 31.05.2008 Ostrzeżenie: (20%) ![]() ![]() |
-------------------- cojack blog - mój blog (na jakiś czas off).
"jak czegoś nie wiem, to nie myślę że wiem" - moja domena |
|
|
![]()
Post
#9
|
|
![]() Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
Ale to nie jest ajax. -------------------- |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 898 Pomógł: 80 Dołączył: 31.05.2008 Ostrzeżenie: (20%) ![]() ![]() |
AJAX - Asynchronous JavaScript and XML
robisz w JS, nie jest synchroniczne, bo przeglądarka nie czeka aż to się wykona, to co to w takim razie jest? @edit Ale chwila moment, bo zboczyliśmy z tematu. Mimo wszystko to nie jest rozwiązaniem problemu. Rozwiązanie padło już dawno powyżej. Ten post edytował cojack 24.01.2011, 09:57:45 -------------------- cojack blog - mój blog (na jakiś czas off).
"jak czegoś nie wiem, to nie myślę że wiem" - moja domena |
|
|
![]()
Post
#11
|
|
![]() Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
Jeżeli idziesz tym torem to ja tam nie widzę xml-a.
http://pl.wikipedia.org/wiki/AJAX Znajdź mi tam opis, który mówi, ze dynamiczne użycie <script> to ajax. -------------------- |
|
|
![]()
Post
#12
|
|
![]() Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Jak dla mnie najpewniejsze rozwiązanie podał Vokiel w 1 swoim poście. Skrypt do jakiego się odwołujesz staje się Twoim proxy dla zewnętrznego serwisu. Z poziomu tego skryptu uruchamiasz żądanie dla tej zewnętrznej strony i czekasz na rezultat, który potem wysyłasz z powrotem do strony wywołującej zdarzenie AJAX. Jeszcze nigdy na tym rozwiązaniu się nie zawiodłem.
-------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 6.02.2010 Ostrzeżenie: (0%) ![]() ![]() |
To rozwiązanie odpada, ponieważ IP przesyłającego post mu być takie samo jak klienta.
odświerzam poraz ostatni :/ |
|
|
![]()
Post
#14
|
|
![]() Grupa: Zarejestrowani Postów: 2 592 Pomógł: 445 Dołączył: 12.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
jQuery 1.5 wprowadza sporo zmian w obsłudze Ajax'a. Właściwie został przepisany. W standardzie jest obługa JSONP, do tego gotowe aliasy do $.ajax :
$.getJSON, automatycznie obsługujący jsonp (przykład ze strony):
Do tego $.getScript automatyzujący dołączanie nowych skryptów do strony oraz ich wykonywanie. Co prawda można to łatwo osiągnąć samemu: dodać do head element script, ustawić src, i onload tego skryptu wywołać funkcję, ale miło, że w jQuery jest to w automacie. W ogóle dobrze przejrzeć jQuery.ajax, bo są takie rzeczy jak np.: crossDomain, jsonp, jsonpCallback. Dużo zależy od tego jak jest zbudowany tamten skrypt, co zwraca, w jakim formacie itd. -------------------- |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 29.06.2025 - 14:23 |