Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: odwołanie do innej domeny
Forum PHP.pl > Forum > XML, AJAX > AJAX
mirkus
Witam

Mam taki problem że chcę wywołać plik php który znajduje się na innym serwerze:

Fragment skryptu:
  1. $.ajax({
  2. type: "POST",
  3. url: "http://www.domena.pl/wyslij_zgloszenie.php",
  4. data: { phone: nameVal, mail: emailVal, tresc: messageVal, id:idVal, pan:panVal },
  5. success: function(msg) {
  6. $("#panel").html(msg);
  7. $("#form").fadeIn("slow");
  8. },
  9. error: function (XMLHttpRequest, textStatus, errorThrown) {
  10. $("#panel").html('Error');
  11. $("#form").fadeIn("slow");
  12. }
  13. }
  14. );
  15.  


Jeżeli uruchomie ten skrypt na tym samym serwerze działa natomiast na innym pojawia się błąd. Czy można jakoś obejść to zabezpieczenie ajax-a
!*!
Teoretycznie.
mirkus
A jakieś inne metody tą próbowałem ale nie chce zadziałać niestety sad.gif
markonix
W komentarzach do tego artykułu jest mnóstwo innych rozwiązań oraz URLi do podobnych artykułów.
mirkus
Może jakieś wskazówki sad.gif bo nie ogarniam tego troche sad.gif

Mój formularz:
  1. <form id='form' method ='POST' action='/'>
  2. Telefon: <input type='text' name='phone' id='phone' >
  3. Mail: <input type='text' name='mail' id='mail' >
  4.  
  5. <span class='button' id='submit' style='font-family:Verdana;'>Wyślij</span>
  6. </form>

Powyższy kod umieszczony jest na sewerze klienta. www.klient.com.pl

Dołączone sa do nagłówkach adres skryptu, którego treść jest taka
  1. $(document).ready(function(){
  2.  
  3. $("#submit").click(function(){
  4.  
  5.  
  6. var hasError = false;
  7. var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
  8.  
  9. var nameVal = $("#phone").val();
  10. var emailVal = $("#mail").val();
  11.  
  12.  
  13. if(nameVal == '') {
  14. $("#phone").css(errorMarks, errorColor);
  15. hasError = true;
  16. }
  17. if(emailVal == '') {
  18. $("#mail").css(errorMarks, errorColor);
  19. hasError = true;
  20. } else if(!emailReg.test( emailVal )) {
  21. $("#mail").css(errorMarks, errorColor);
  22. hasError = true;
  23. }
  24.  
  25. if(hasError == false) {
  26. $("#form").fadeTo("slow", 0.30, function() {
  27.  
  28.  
  29. $.ajax({
  30. type: "POST",
  31. url: 'http://www.mojadomena.pl/zapisz_dane.php',
  32. data: { phone: nameVal, mail: emailVal, tresc: messageVal, id:idVal, pan:panVal },
  33. success: function(msg) {
  34. $("#panel").html(msg);
  35. $("#form").fadeIn("slow");
  36. },
  37. error: function (XMLHttpRequest, textStatus, errorThrown) {
  38. $("#panel").html('Error');
  39. $("#form").fadeIn("slow");
  40. }
  41. }
  42. );
  43.  
  44. });
  45. }
  46. else
  47. return false;
  48. });
  49. });


plik zapisz_dane.php znajduje się na moim serwerze. Jeżeli formularz znajduje się na moim serwerze pięknie działa natomiast na innym wyświetla error wiem że chodzi o cross-domain javascript ale jakoś nie mogę tego zbytnio ogarnąć jak to przerobić by działało sad.gif może jakieś wskazówki dla laika w tej kwestii
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.