jQuery $. sonrası boş dizi

5 Cevap php

Ben bir php dosyası, kullanıcı bilgilerini doğrulamak için basit bir script için bir form göndermek için jQuery kullanıyorum.

var emailval = $("#email").val();
var invoiceIdval = $("#invoiceId").val();

$.post("includes/verify.php", 
       {invoiceId:invoiceIdval , email:emailval },
       function(data) { 
          //stuff here.
});

PHP-Kodu:

<?php
print_r($_POST);
?>

Ben Firebug yanıt bakmak, boş bir dizidir. Dizi en az bir değere sahip olmalıdır.

$_POST php dosyasında çalışmıyor neden çalışamaz. Kundakçı yayınlanmıştır içeriğini, e-posta ve fatura id, sadece hiçbir şey aslında php dosyasında alınan içeren yazı gösterir.

Form:

<form method="post" action="<?=$_SERVER['PHP_SELF']; ?>" enctype="application/x-www-form-urlencoded">

Herkes onun ne yaptığını biliyor musun?

teşekkürler


Bu bulundu - http://www.bradino.com/php/empty-post-array/

mantıklı bir rota gitmek için mi?

5 Cevap

$.post() varsayılan application/x-www-form-urlencoded ayarlar yatan $.ajax() çağrı, veri geçer, bu yüzden o olduğunu sanmıyorum.

Bu deneyebilirsiniz:

var post = $('#myForm').serialize();    

$.post("includes/verify.php", post, function(data) { 
    alert(data);
});

serialize() çağrı form.myForm tüm güncel verileri çekecek.

application/x-www-form-urlencoded

Cevabınız var. Bu sadece $ _POST dizi değişkenler arıyorsanız, yayınlanan başlıyor. Gerçekten istediğin $ _REQUEST olduğunu. Adının aksine, $ _POST olursa olsun teslim yöntemi, isteğin gövdesinde sunulan girdi değişkenleri içerir. $ _GET URL sorgu dizesi ayrıştırılan değişkenleri içerir. Sadece sunulan değişkenler istiyorsanız, $ _REQUEST küresel kullanın.

: Eğer siz de $ _FILES içeriği de dahil olmak üzere yeni bir dizi oluşturmak istiyorum daha, dosya yüklemeleri almak için beklemek durumunda

$ Argümanlar = $ _REQUEST + $ _FILES;

Ben aynı sorunu tarafından ısırıldı ve ben çözüm Owen uygun değil verir bulabilirsiniz. JQuery senin için yapmalıyım ederken, nesne kendini seri hale ediyoruz. Siz de bir $ yapabilir. Olsun () bu durumda.

Benim durumumda olan bir sunucu (çizgiyle) / mydir / kadar mydir / yönlendirmesi POST dizi geçersiz aslında olduğunu öğrendim. Istek / mydir içinde bir index.php gönderildim

Bu bir yerel makinede, bu yüzden HTTP trafiğini kontrol olamazdı. Bunu yapmış olsaydı ben daha önce dışarı bulurdum.

Ben Owen verilen işlevi çalıştı ama aynı zamanda boş bir uyarısı var. Garip ama bu çıkışı bir sorgu dizesi olur ve boş bir uyarı iade ettim. Sonra tekrar göndermek istiyorum ve doğru sonrası değerleri ile uyarabilir.

Ayrıca (ben takip ediyordum bir jquery öğretici yapıldığını, nasıl oldu) id niteliğini kullanarak html belirlenen alan isimleri vardı. Bu benim form alanları getirilmeye izin vermedi. Ben isim id açıldığında, bu benim sorunum çözüldü.

Ben aradığı şeyi yaptım çünkü ben tüm bunlardan sonra $. Ajax ile gidiş sona erdi.

Ben sadece formu göndermek için jQuery kullanarak önce tüm girişleri (ben istedim hatta gizli olanlar) devre dışı bırakmak için jQuery kullanarak bir durum vardı. Ben sadece "düğmesi" tipi girişlerini devre dışı bırakmak için benim jQuery değişti ve form gönderildiğinde şimdi gizlidir vars yayınlanmıştır! Bu engelli için gizli girişini ayarlamak eğer onun değerlerini formu ile gönderilen olmadığını görünüyor!

Değişti:

$('input').attr('disabled',true);

için:

$('input[type=button]').attr('disabled',true);