مشکل در ajax و jquery

meisamphp

New Member
سلام دوستان ..


من یه وب دارم توی یکی از صفحات میخوام کل اطلاعات یه جدول از دیتابیس رو نمایش بدم ..


میخوام با ajax و jquery این کار رو انجام بدم ,,


کدهای سمت سرور رو نوشتم ،، وبا متد post توی ajax اطلاعات رو به صورت یه آرایه دو بعدی بدست میارم ،،


مشکلم اینجاست که توی فانکشن ajax که نوشتم دیتا توی متغیر res ریخته میشه ،، من میخوام این آرایه دو بعدی رو توی div تو صفحه نمایش بدم ،، اما متغیر res فقط توی همون فانکشن ajax مقدار داره ..


حالا چه کار باید بکنم ؟؟ میشه آرایه res رو توی یه آرایه php کپی کرد و هرجای صفحه بخوام ازش استفاهده کنم ؟؟
کد:
$(document).ready(function(){
  $(resultshow).ready(function(){


    $.ajax({
        type: 'POST',
        url: 'myTargetURL.php',
        data: id:'111111',
        Data type :'json'
        complete: function(res){
        \\ res = اطلاعات به صورت آرایه دوبعدی 
        }
   });
});
 

M0r!s

New Member
خیر شما نمی تونید از res تو کدهای php تون استفاده کنید. اما می تونید با jquery هر جا که خواستید استفاده کنید.
اگر خروجی res اینجا می گذاشتید و اینکه میخواید کجا ازش استفاده کنید می تونستم بیشتر کمک کنم.
 

meisamphp

New Member
سلام ,,

دوست عزیز من میخوام مقادیر آرایه دوبعدی res رو توی یه جدول div استفاده کنم و به صورت یه جدول اطلاعات رو نمایش بدم .. حتی توی خونه های جدول من مقدار زیر رو گذاشتم اما جواب نمیده ..
کد:
<script> document.write(res[0][1]) </script>

اما هیچ مقداری رو نمایش نمیده



یاعلی ..
 

M0r!s

New Member
از چند چیز می تونه باشه:
1- مطمئنی که درخواست ajax فرستاده می شه؟ ( از تب Network مرورگرت می تونی بفهمی)
2- به جای document.write
[JSS]console.log(res);[/JSS]
امتحان کن و نتیجشو از کنسول مرورگرت می تونی ببینی.
3- به جای complete: function(res){...
[JSS]success: function(res) {[/JSS]
استفاده کن
 

meisamphp

New Member
سلام ,,

از success : functin (res استفاده کردم ,, res مقدار میگیره .. توی همون success وقتی میزنم alert (res کل مقدار res رو بهم نشون میده ،، res مقدار داره و آرایه دو بعدی هستش و به این صورت هم جواب میده
کد:
success:functin(res) {
alert (res[0][1]);
})

مقدار خونه [۱][۰] رو نشون میده


یاعلی ..
 

M0r!s

New Member
خوب یعنی الان به مقداری که می خواستی دسترسی پیدا کردی؟
به خاطر این گفتم از console.log استفاده کنی که مقداری که برگردونده می شه object هست. اینطوری راحت تر می شه مقدار خروجی رو اصطلاحاً Parse کرد.

در ضمن چون dataType :'json' هست مطمئن شو که از طرف php که داری خروجی می گیری حتماً آرایتو با
[PHPS]<?php echo json_encode(آسم آرایه);[/PHPS]
خروجی گرفته باشی.
 

M0r!s

New Member
در ضمن اگر می خوای اطلاعاتت خروجیو تو جدول نمایش بدی این راه حل ها هست :
1- می تونی از پلاگین jQuery dataTable استفاده کنی . آدرسش : Datatables.net/examples
2- طرف php ، به جای اینکه آرایه بفرستی، همونجا جدولتو بساز و به عنوان خروجی بفرست.
3- راه آخر اینه که یه حلقه بر اساس خروجی res بسازی و مقدارا رو سر جای خودشون بذاری مثل :
[JSS]for ( var i = 0; i < res.length; i++) {
$('#table tr:eq(i) td:eq(i)').text(res)
}
[/JSS]
 

meisamphp

New Member
سلام ..

مرسی که کمکم میکنید دوست عزیز ..
اگه بخوام از همون طرف php جدول رو کامل طراحی کنم و بفرستم این سمت چطوری باید یه جدول تمام و کمال با جزئیات کامل رو که توی php طراحی کردم ،، از طریق ajax دریافت کنم و نمایش بدم ؟؟


یاعلی ..
 

M0r!s

New Member
خواهش می کنم. خوشحالم که میتونم کمک کنم.
کار آسونیه : باید این خطو اول پاک کنی از اسکریپت مربوط به ajax ـت
[JSS]dataType: 'json', [/JSS]
بعد جایی که می خوای tablet بشینه اونجا رو مشخص کن. فرض کن یه div داری که id اون هست table-placeholder
[HTMLS]<div id="placeholder"></div>[/HTMLS]

این خطو که تو function success بذاری table ـی که ساخته بودی سر جاش قرار میگیره.

[JSS]
$.ajax({
type: 'POST',
url: 'myTargetURL.php',
data: id:'111111',
success: function(res) {
$('#table-placeholder').html(res);
}
});
[/JSS]
 

جدیدترین ارسال ها

بالا