kullanarak düzgün mesajını görüntüleyen problem değil: .ajax kullanarak bir ajax arama yapmaya çalışıyorumAjax çağrı Yani burada Yii çerçevesini
. Ancak, denetleyicimin iyi görüntü dosyasına yönlendirmediği ve sayfamda hiçbir şey görüntülenmediği için bir yerde yanlış şeyler oluyor.
<?php
echo '<script language="javascript">';
echo 'alert("message successfully sent")';
echo '</script>';
echo "HI FROM BACKEND! here's what you gave to PHP: <br>";
print_r($data);
?>
Yani ben:
public function actionAjaxExample()
{
$post_data = $_POST['myData'];
$this->renderPartial('_ajax', array(
'data'=> $post_data,
)
);
}
görünüm dosyasını _ajax yönlendirmek için çalışıyor: ajax çağrısı burada Şimdi
$('#validate').on('click',function(){
var data = []; // data container
// collect all the checked checkboxes and their associated attributes
$("table#subsection_table input[type='checkbox']:checked").each(function(){
data.push({
subsectionid : $(this).val(),
sectionid : $(this).data('sectionid'),
year : $(this).data('year')
})
});
// JSON it so that it can be passed via Ajax call to a php page
var data = JSON.stringify(data);
$.ajax({
url : "<?php echo Yii::app()->createAbsoluteUrl("scheduler/AjaxExample"); ?>",
type: "POST",
data : "myData=" + data,
success : function()
{
alert("in success");
$("#ajax-results").html(data);
$("#ajax-results").dialog({ width: 500, height: 500})
},
error: function()
{
alert("there was an error")
}
})
console.log(JSON.stringify(data));
$('#dialog').html(data).dialog({ width: 500, heigh: 500});
});
olur benim denetleyicisi kodu İşte burada
olduğunu Açıkçası yanlış bir şeyler yapıyor ama ... Ajax aramaları gerçekleştiği için nerede göremiyorum (en azından #val benim click olayıyla ilgili idate. Ancak, son görüntüleme dosyası, uyarı kutusu VEYA "arkadan merhaba" ifadesini görüntülemiyor.
ile ilgili herhangi bir sorun olduğunda, lütfen kodunuzun vermiş olduğu URL'yi kontrol edebilirsiniz: " Php echo Yii :: app() -> createAbsoluteUrl (" scheduler/AjaxExample ");?>" Doğru ? – Kruser
da, AccessControl etkinleştirilmiş bir filtre() tanımladığınız takdirde AjaxExample() yönteminize erişebilmeniz gerekir. Js kodunuzda cevap verisini başarı fonksiyonuna aktarmıyorsunuz, şöyle bir şey yapmalısınız: 'başarı: fonksiyon (cevap) { uyarı (“ başarıda ”); uyarısı (yanıt); ... } 'Böylece sunucu yanıtını kolayca kontrol edebilirsiniz. – Kruser
Oh benim fonksiyonum (veri) yapmayı unuttum. Erişim kontrolü için, sadece benim (ki ben zaten düşünüyorum sanmıyorum, ben Yii için yeni değilim) dosyamda accessRules() kullanıyorum olduğunu okudum. AjaxExample gelince, Korumalı -> Denetleyici -> Zamanlayıcı Denetleyici -> actionAjaxExample altında bulunur. Aksi takdirde benim konsolumda bulunamadı 404 url verir? – MimeRea