بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ

مشکل در بخش 9

مدیریت گفتگو
هادی بی غم 10 سال پیش
آخرین تغییر: 10 سال پیش

سلام ، تو این آموزش همه چی خوب پیش میرفت تا اینکه کار به ajax کشیده شد تابع search اطلاعات داخل دیتابیس خالی بر می گردونه یعنی لیستی از محصولات در کار نیست دستورات مو به مو نشستم چک کردم خطای نوشتاری هم ندیدم مشکل از کجای کاره ؟ روی سرور واقعی دارم کار میکنم لوکالشو اصلا درست نکردم مشکل می تونه از این باشه ؟

 

این خطا زمانی که می خوام با سرور اصلی به صفحه login برم نشون داده میشه ، وقتی هم با سرور لوکال به این صفحه میرم کلا خطای 404 نشون میده کلا داخل سرور لوکال باید فایل htaccess حذف بشه تا صفحه سایت بالا بیاد

فایل view.php

 <?php
class View {
public static function render($filePath, $data = array()){
extract($data);

ob_start();
require_once(getcwd() . "/mvc/view" . $filePath);
$content = ob_get_clean();

require_once(getcwd() . "/theme/default.php");
}

public static function renderPartial($filePath, $data = array()){
extract($data);

require_once(getcwd() . "/mvc/view" . $filePath);
}
}

قسمت Network

قسمت Console

 

کد فایل home.php

 <div>

<strong>به ترتیب</strong>
<select id="sortType">
<option value="price ASC">ارزانترین ها</option>
<option value="price DESC">گرانترین ها</option>
<option value="rate DESC">محبوبترین ها</option>
<option value="creationTime ASC">قدیمی ها</option>
<option value="creationTime DESC">جدیدترین ها</option>
</select>

<strong style="margin-right:20px ">جستجو</strong>
<input value="" placeholder="جستجو" id="keyword">

<div style="margin-right:20px" class="dib">
<span id="displayAsList" class="icon ic-list" style="font-size: 10pt ;cursor: pointer" ></span>
<span id="displayAsGrid" class="icon ic-table2" style="font-size: 10pt;cursor: pointer"></span>
<input id="viewType" type="hidden" value="grid">
</div>

</div>

<script>
$("#sortType").on('change',function() {
reloadData();
});

$("#displayAsList").on('click',function() {
$('#viewType').val('list');
reloadData();
});

$("#displayAsGrid").on('click',function() {
$('#viewType').val('grid');
reloadData();
});

$("#keyword").on('keyup',function() {
alert("A");
reloadData();
});
function reloadData(){
var sortType = $("#sortType").val();
var keyword = $("#keyword").val();
var viewType = $("#viewType").val();

viewType = viewType || 'grid';

$.ajax({
url: "/product/search",
method: 'POST',
data:{
sortType:sortType,
keyword:keyword,
viewType:viewType
}
}).done(function(output) {
$("#products").empty();
$("#products").append(output);
});
}
$(function(){
reloadData();
});
</script>
<div id="products">

</div>

کد فایل product.php

 <?php
class ProductController {

public function search() {
$sortType=$_POST['sortType'];
$keyword=$_POST['keyword'];
$viewType=$_POST['viewType'];
$db=Db::getInstance();
$products = $db->query("SELECT * FROM pym_product WHERE title LIKE '%$keyword%' ORDER BY $sortType");
$data['products']=$products;

if($viewType=='grid') {
View::renderPartial("/payment/products-grid.php", $data);
}else{
View::renderPartial("/payment/products-linear.php", $data);

}
}
}

کد فایل
productPanel-linear.php

 

 <? foreach ($products as $product){ ?>
<div class="productPanel-linear">
<div class="productThumbWrapper-linear" >
<?
if($product['hasCover'] != 1){
$path="/image/products/default_t.jpg";
}else {
$path="/image/products/".$product['product_id']."_t.jpg";
}
?>
<img src="<?=$path?>" class="productThumb-linear">
</div>

<div class="productPanelRightSide">
<span class="productName-linear"><?=$product['title']?></span>


<div >
<span class="currentPrice-linear"><?=$product['price'] - $product['price'] * $product['discount'] / 100?>$</span>
<? if ($product['discount']>0){?>
<span class="oldPrice-linear"><?=$product['price']?>$</span>
<? } ?>
</div>
<p class="productBrief-linear"><?=$product['brief']?></p>

<div class="productBtnWrapper-linear">
<span class="wishBtn-linear ic-heart" style="margin-left: 10px "></span>

<div class="addToCartBtn-linear">
<span class="icon ic-plus"></span>
<span>&nbsp;اضافه به سبد خرید</span>
</div>
</div>
</div>
</div>
<? } ?>
 
 

نظرات

MOJTABA 10 سال پیش
کدتون رو قرار بدید
mhpakdel 10 سال پیش
هادی جون، کدهای جاوا اسکریپتت کوش؟ ایراد شاید از اونجا باشه که ajax زدی.
fandroid 10 سال پیش
سلام آقا هادی احتمال خیلی زیاد مشکل از همون قطعه کد Ajax هست فک کنم یه , کم گذاشتی یکم تغییرش بدی درست میشه دوست عزیز :)
fandroid 10 سال پیش
چک کن ببین تو مرورگر خطای جاوااسکریپت داری تو بخش console
هادی بی غم 10 سال پیش
سلام فرهاد جان تصویر قسمت های Network و Console اضافه کردم
fandroid 10 سال پیش
خب مشکل مال اینا نیست چون Warning داده که زیاد مهم نیس دوست عزیز میخوای برای تابعajaxیک dataType از نوعjson تعریف کن و خروجی product/search رو json_encode کن ببین درست نمیشه
mhpakdel 10 سال پیش
منم نظرم به نظر فرهاد نزدیک تره! البته کدها رو ریز به ریز نگاه نکردم. ببین با تعریف نوع داده json مشکل حل میشه یا نه
هادی بی غم 10 سال پیش
دوستان کلا دستورات داخل script اجرا نمیشن
MOJTABA 10 سال پیش
برای دیباگ از alert خط به خط استفاده کنید و ببینید کدوم خط اجرا نمیشه.
هادی بی غم 10 سال پیش
مشکل اینجاست که کلا دستورات داخل تگ script اجرا نمیشن حتی alert
MOJTABA 10 سال پیش
برای تگ script پروپرتی type="text/javascript" ست کنید ببینید کار میکنه یا نه .
fandroid 10 سال پیش
دوست عزیز ببین آدرس دهی به jquery درست دادی ؟ اگه میشه بخش مربوط به view رو هم بذار
هادی بی غم 10 سال پیش
فرهاد جان فکر نکنم آدرس دهی ایرادی داشته باشه آخه من هارد سیستمم مشکل پیدا کرد همه پروژه های تمرینم پاک شد از فایل سورس framework خود استاد دارم واسه فروشگاه استفاده می کنم ، همه چیز کامل داشت کار میکرد حتی لیست محصولات نشون داده میشد همین که به نمایش از طریق ajax تغییر داده شد این مشکل پیش اومد ، آدرس دهی از طریق login و register هم ایراد داره یعنی به جای باز کردن این صفحه ها یه صفحه خالی باز میشه
هادی بی غم 10 سال پیش
حتی وقتی دستی آدرس سایت بعدش user/login می نویسم بازم به صفحه login نمیره
fandroid 10 سال پیش
من میگمآموزش بخش 5 شماره 2 رو از دقیقه 40 به بعد یبار دیگه ببین بیشتر مشکلاتی که میتونه برا Ajax پیش بیاد رو استاد چک کرده ای در حالتی هست که یک تست ساده از jquery بگیری و ببینی که jquery درست ادرس دهی شده بعد ...
هادی بی غم 10 سال پیش
دوستان یه عکس از خطایی که در زمان فراخوانی یک تابع مثل getLatestCartOrCreate نشون میده گذاشتم به نظرتون ایراد از کجاست ؟ هر تابعی که فراخوانی می کنم همین پیام نمایش میده
mhpakdel 10 سال پیش
مشکل قبلیت حل شد؟ این خطایی که میگی گیر داده به نوع انکودیگ کاراکترها! من تا حالا برخورد نکردم بهش. اگه از کاراکترهای فارسی استفاده کردی حتما به utf-8 ذخیره کن پروژه رو
fandroid 10 سال پیش
منم گیج شدم آخه هر کدوم از این خطاها که میگی چه ربطی به هم دارن .نوع کاراکتر ها چه ربطی به کار نکردن تابع Ajax داره آخه :|
هادی بی غم 10 سال پیش
منم مثل شما ! آخه تمام فایل ها تک به تک utf-8 کردم بعد فرستادم روی سرور باز همین خطا میده !!!
هادی بی غم 10 سال پیش
اومدم درستش کنم زدم بدترش کردم :)
هادی بی غم 10 سال پیش
مشکل قبلی حل نشده ، سرور لوکال راه انداختم واسش جالبیش اینجاست که توی سرور واقعی تابع search کد 200 نشون میداد با رنگ سبز اما داخل لوکال مجازی حتی همون هم قرمز شده
هادی بی غم 10 سال پیش
تو حالت لوکال .htaccess باید حذف کنم تا صفحه سایت بالا بیاد ولی داخل سرور اینطور نیست
mhpakdel 10 سال پیش
هادی جون، تو این جور موارد پیدا کردن خطا خیلی خیلی زمانبر هست تا اینکه بری از اول کدها رو بنویسی. برا منم تو بخش های قبل تر و همین بخش بارها پیش اومده یه نکته رو رعایت نکردم بعد یه هفته وقتمو گرفته! حالا به نظر من اگه احیاناً موفق به پیدا کردن ایراد نشدی، این پروژه رو دست نزن و یه جایی نگهش دار و دوباره کدها رو بنویس. دو تا مزیت داره. یکی کدها بهتر میاد تو دستت برای بار دوم و یکی اینکه با قبلی مقایسه میکنی و تمام ایرادهای احتمالی پیدا میشن.
fandroid 10 سال پیش
دوست عزیز برای .htaccess تو حالت لوکال ببین در قسمت سرور Apache ماژول Rewrite فعال هست یا خیر
هادی بی غم 10 سال پیش
فرهاد جان دمت گرم ;) کلا درست شد محصولات در حالت لوکال نمایش داده شد
هادی بی غم 10 سال پیش
کل مشکلات من همین htaccess نامرد بود :)

پاسخ‌ها 1

fandroid 10 سال پیش

سلام دوست عزیز مشکلت حل شد ؟

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

موفق و موید :)

نظرات


پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .