PDA

View Full Version : مشکل کار نکردن آجکس



Tarragon
سه شنبه 05 اسفند 1393, 18:07 عصر
سلام
طبق آموزش زیر قسمت تایید و عدم تایید رو در قسمت جستجو گذاشتم. https://gist.github.com/umidjons/9462265
اما کار نمی کنه! یعنی وقتی راست کلیک می کنی و در صفحه جدید باز می کنی صفحه درست باز می شه و کار هم می کنه! اما قسمت آجکسش کار نمی کنه در console هم چیزی log نمی شه!.
ممنون می شم راهنمایی کنید.
سپاس.
پ.ن. :‌ تمام کد ها تو لینک فوق هست ودر قسمت آجکس کدی تغییر نکرده .

desatir7316
سه شنبه 05 اسفند 1393, 18:19 عصر
کدوم ورژن از Yii کار می کنید
اگه ورژن ۲ هست برید مسیرapp/assets/AppAsset.php و کد زیر رو اضافه کنید:

public $jsOptions = ['position' => \yii\web\View::POS_HEAD,];

این باعث میشه جاوااسکریپ ها در ابتدا صفحه لود بشن
من خودم مشکلم رو با این حل کردم و راه حل دیگه ای براش پیدا نکردم

Tarragon
سه شنبه 05 اسفند 1393, 18:23 عصر
سلام
خیر ورژن 1.1.16 هستش.

desatir7316
سه شنبه 05 اسفند 1393, 18:35 عصر
تو Yii1 یادم نیست کجاست، یه سرچ هم کردم نتونستم پیداش کنم ولی بگردید هست
همین کار رو انجام بدید شاید درست بشه براتون

Tarragon
سه شنبه 05 اسفند 1393, 23:03 عصر
دوستان عزیز نظر دیگه ای ندارند؟

MMSHFE
سه شنبه 05 اسفند 1393, 23:39 عصر
توی فایرباگ به سربرگ Net مراجعه کنید و XHR رو انتخاب کنید ببینید درخواستهای AJAX که میره و میاد چیه و چه چیزایی ارسال میشه و چه جوابی میگیرین.

Tarragon
چهارشنبه 06 اسفند 1393, 09:08 صبح
سلام
هیچ چیزی رد و بدل نمی شه! انگاری کد جاوا اسکریپت مشکل داره!
این کد جاوا اسکریپتش هستش :

/*<![CDATA[*/
jQuery(function($) {
$('.search-button').click(function(){
$('.search-form').toggle();
return false;
});
$('.search-form form').submit(function(){
$('#ads-grid').yiiGridView('update', {
data: $(this).serialize()
});
return false;
});
jQuery(document).on('click','#ads-grid a.approve',function(__event)
{
__event.preventDefault(); // disable default action
var $this = $(this), // link/button
confirm_message = $this.data("confirm"), // read confirmation message from custom attribute
url = $this.attr("href"); // read AJAX URL with parameters from HREF attribute on the link
if(confirm(confirm_message)) // if user confirmed operation, then...
{
// perform AJAX request
$("#news-comments-grid").yiiGridView("update",
{
type : "POST", // importatnt! we only allow POST in filters()
dataType: "json",
url : url,
success : function(data)
{
console.log("Success:", data);
alert(data);
$("#news-comments-grid").yiiGridView("update"); // refresh gridview via AJAX
},
error : function(xhr)
{
alert(xhr);
console.log("Error:", xhr);
}
});
}
});
jQuery(document).on('click','#ads-grid a.unapprove',function(__event)
{
__event.preventDefault(); // disable default action
var $this = $(this), // link/button
confirm_message = $this.data("confirm"), // read confirmation message from custom attribute
url = $this.attr("href"); // read AJAX URL with parameters from HREF attribute on the link
if(confirm(confirm_message)) // if user confirmed operation, then...
{
// perform AJAX request
$("#news-comments-grid").yiiGridView("update",
{
type : "POST", // importatnt! we only allow POST in filters()
dataType: "json",
url : url,
success : function(data)
{
console.log("Success:", data);
alert(data);
$("#news-comments-grid").yiiGridView("update"); // refresh gridview via AJAX
},
error : function(xhr)
{
alert(xhr);
console.log("Error:", xhr);
}
});
}
});
jQuery('#ads-grid').yiiGridView({'ajaxUpdate':['ads-grid'],'ajaxVar':'ajax','pagerClass':'pager','loadingCla ss':'grid-view-loading','filterClass':'filters','tableClass':'ite ms','selectableRows':1,'enableHistory':false,'upda teSelector':'{page}, {sort}','filterSelector':'{filter}','pageVar':'Ads _page'});
});
/*]]>*/

MMSHFE
چهارشنبه 06 اسفند 1393, 09:09 صبح
اینم چک کنید: اگه از AJAX خود Yii استفاده میکنید دیگه نباید دستی jQuery رو توی قالب بارگذاری کنید.

Tarragon
چهارشنبه 06 اسفند 1393, 09:12 صبح
سلام
من لودش نکردم اما توسط خود yii لود می شه.

<script type="text/javascript" src="/taskabab/assets/8de65315/jquery.js"></script>
<script type="text/javascript" src="/taskabab/assets/8de65315/jquery.ba-bbq.js"></script>

Tarragon
چهارشنبه 06 اسفند 1393, 09:15 صبح
جالب اینجاست که آجکس در قسمت جستجو کار می کنه! یعنی زمانی چیزی رو می نویسی و جستجو می کنی، با آجکس دریافت و بروزسانی می کنه!