$. Yazı ile PHP fonksiyonu jQuery UI Dialog boş POST

1 Cevap php

Ben bunu anlamaya çalışıyorum bir süre cehennem yaşıyorum. Belki burada birisi bana yardımcı olabilir veya bana doğru yönde işaret edebilir.

Ben kullanıcı bir resmin üzerine tıkladığında açılan bir jQuery UI iletişim sahip. Iletişim pencere aşağı 2 damla ile bir form görüntüler. "Borç" ve "grup". Bir şey "borç" açılır menüsünden seçilinceye kadar grup açılır, devre dışı bırakılır.

Kullanıcı bir bölümü seçtiğinde, ben php işlevine bir POST yapmak ve ardından etkinleştirmek ve aşağı grup damla doldurmak. Basit yeterli ...

<select name="dept" id="dept_select" onchange="getDeptGroups(this.value);">
 // Some data here
</select>

JS fonksiyonu:

function getDeptGroups(dept)
{
       // This alert works and displays department name.
       //alert(dept);

       $.post("/am/ldap/getDepartmentGroups.php", { 
              department: dept },
              function(data){
                    alert(data);
       });
}

ve nihayet php sayfada ben sadece do

<? print_r($_POST); ?>

ve boş bir dizi ile sonuna kadar.

Array
(
)

Bu, her iki olur, Chrome ve Firefox, ancak, kundakçı açıkça post veriler sunulmadan gösterir:

POST data"> gösteren Kundakçı Screenshot</p>

<p>Ben burada yanlış ne yapıyorum?</p></div>
										</div>
									</div>
								</div>
							</div>
						</div>
					</div>
				</div>
			</div>
		</div>

	</div>
	<div class=

1 Cevap

İlk olarak, beklendiği gibi şeylerin PHP tarafında çalışmakta olduğunu doğrulayın. Bu sayfaya mesaj ve çıkış ne olduğunu görmek bir statik formu ayarlama:

<form action="/am/ldap/getDepartmentGroups.php" method="post">
  <select name="dept">
    <option value="extern">External</option>
    ...etc
  </select>
  <input type="submit" value="Submit">
</form>

Hala çıkış olarak boş bir dizi olsun, sonra PHP ve / veya sunucuda bir sorun var demektir.

Aksi takdirde, belki de zaten çağırır post jsut arama beri, jQuery ajax işlevini kullanarak deneyin:

$.ajax({
  type: 'POST',
  url: '/am/ldap/getDepartmentGroups.php',
  data: { department: dept },
  success: function(data) {
    alert(data);
  }
});

EDIT: Ah, sen CodeIgniter'ı kullandığınız bir açıklama dedi. Ben CI yerine $this->input->post kullanmak gerekir, $_POST dizi kaldırır inanıyorum. Lütfen department değişkeni almak için yazmak istiyorum $this->input->post('department')