Kodları lütfen aşağıdaki butonları kullanarak renklendirin. Örnek: <php> echo "Selam Dünya"; </php>
Yardım
karakter kaldı

cross domain post

bir iframe'e form post ediyorum. mevcut url ile iframe'e post edilen adres farklı. post gerçekleşiyor ama alıcı sayfadan veriler alınamıyor.

yani a.com'dayız diyelim. benim bu sitede bir formum var ve bu form sayfadaki iframe'e targetlenmiş ve b.com'a veri post ediyor. b.com'a form gidiyor ama oradan $_POST ile verileri alamıyoruz.

bunun için başka adreslerden post,get vs. kabulü için böyle bir şey paylaşılmış stackoverflow'da. formun post edildiği sayfanın başına koymama rağmen verileri alamıyorum?

switch ($_SERVER['HTTP_ORIGIN']) {
    case '<a href="http://domain.com':" target="_blank" class="external" rel="nofollow">http://domain.com':</a> case '<a href="http://www.domain.com':" target="_blank" class="external" rel="nofollow">http://www.domain.com':</a>
    header('Access-Control-Allow-Origin: '.$_SERVER['HTTP_ORIGIN']);
    header('Access-Control-Allow-Methods: POST, GET, OPTIONS');
    header('Access-Control-Max-Age: 1000');
    header('Access-Control-Allow-Headers: Content-Type');
    break;
}
+0
-0
Cevaba KatılıyorumKatılmıyorum
Cevap Yaz Yorum Yaz Arşivime Ekle Takip Et

Cevaplar

  • xuma adlı üyenin fotoğrafı
    11 yıl önce yazılmış
    171 cevap - 1 soru
    Normalde ekstra birşey yapmana gerek yok
    <form action="htt://www.adres.com/iframe.php" target="frame-adi" method="post">			
      <label for="adi">Adı:</label>
      <input type="text" name="adi" id="adi">
      <input type="submit" value="Gönder">
    			
    </form>		
    <iframe name="frame-adi" src="htt://www.adres.com/iframe.php"></iframe>
    

    Problem olmadan çalışması lazım.
    • remy1 adlı üyenin fotoğrafı remy1
      bu zaten temel mantık ama ben bunları js ile yaratıp arkaplanda yolluyorum. o zaman yemiyor işte. dün geç saatte yazdım belirtmemişim sanırım sorumda. pardon.

      bu şekilde arkaplanda cross domain post yapılabileceği yazıyor. bir ara oluyordu veriyi alamıyordum, şimdi hiç post edemiyorum.

      function crossDomainPost() {
        // Add the iframe with a unique name
        var iframe = document.createElement("iframe");
        var uniqueString = "CHANGE_THIS_TO_SOME_UNIQUE_STRING";
        document.body.appendChild(iframe);
        iframe.style.display = "none";
        iframe.contentWindow.name = uniqueString;
      
        // construct a form with hidden inputs, targeting the iframe
        var form = document.createElement("form");
        form.target = uniqueString;
        form.action = "http://INSERT_YOUR_URL_HERE";
        form.method = "POST";
      
        // repeat for each parameter
        var input = document.createElement("input");
        input.type = "hidden";
        input.name = "INSERT_YOUR_PARAMETER_NAME_HERE";
        input.value = "INSERT_YOUR_PARAMETER_VALUE_HERE";
        form.appendChild(input);
      
        document.body.appendChild(form);
        form.submit();
      }
      
      11 yıl önce yazılmış
    • xuma adlı üyenin fotoğrafı xuma
      Ajax ile adrese post etmek yerine neden iframe'e post etmeyi deniyorsun özel bir nedeni varmı ?
      11 yıl önce yazılmış
    • remy1 adlı üyenin fotoğrafı remy1
      ajax ile url'ye de olur. özel bir nedeni yok. önce öyle denedim zaten ama ajax'le de olmadı. ajax'le oluyorsa o nasıl yapılıyor?
      11 yıl önce yazılmış
    • xuma adlı üyenin fotoğrafı xuma
      En basit haliyle jquery ile ;

      $(function(){
      	$('#formid').submit(function(){
      		$.post("http://www.gidecekadres.com/alacak.php", $("#formid").serialize());
      	});
      });
      
      11 yıl önce yazılmış