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

dataType: "json "

120448  4 سال پیش  3 ماه پیش
+1 0

با سلام          

خروجیjson معتبر نیست. مثلا : {"isInWishList":0}

وقتی صفحه را دستی reload  می کنم تغییرات نمایش داده می شود. آیا به سیستم  routing ربطی دارد؟

<div id="content">
<? if($isGuest){?>
<div class="tac lf important-color m15tb">
<span>برای استفاده کامل از سیستم،نیازمند ثبت نام در سایت می باشید</span>
</div>
<? }else{ ?>

<ul class="todo-entry">
<li>انجام</li>
<li>حذف</li>
<li>عنوان</li>
<li>توضیحات</li>
<li>زمان وقوع</li>
</ul>

<? if ($records == null){ $records = array(); }?>
<? foreach ($records as $record){
if ($record['isDone']){
$doneClass = "done";
}else {
$doneClass = "pending";
}
?>
<ul class="todo-entry <?=$doneClass?>">
<li><span onclick="ideaToggle(this,<?=$record['idea_id']?>)" class="btn">*</span></li>
<li><span onclick="ideaRemove(this,<?=$record['idea_id']?>)" class="btn">-</span></li>
<li><?=$record['title']?></li>
<li><?=$record['description']?></li>
<li><?=jdate($record['eventTime'], 'd M Y')?></li>
</ul>

<? } ?> <br><br>
<div class="tal">
<a href="/ideas-v3/idea/submit" class="btn-blue">درج نظر</a>
</div>
<? } ?>
</div>

<script>
function ideaToggle(sender, ideaId){
sender = $(sender);
var parent = sender.parentsUntil('.todo-entry').parent();

$.ajax('/ideas-v3/idea/toggle/' + ideaId, {
type: 'post',
dataType:'json',
success: function(data) {
alert(data);
if (parent.hasClass('done')){
parent.removeClass('done');
parent.addClass('pending');
} else {
parent.removeClass('pending');
parent.addClass('done');
}
}
});

}

function ideaRemove(sender, ideaId){
sender = $(sender);
var parent = sender.parentsUntil('.todo-entry').parent();

$.ajax('/ideas-v3/idea/remove/' + ideaId, {
type: 'post',
dataType:'json',
success: function(data) {
parent.remove();
}
});
}
</script>
 
 
public function toggle($ideaId){
if(!isset($_SESSION['user_id'])) {
exit;
}
$userId = $_SESSION['user_id'];
IdeaModel::toggle($ideaId,$userId);
echo json_encode(array('status' => true,));
}




{"status":true} * خروجی سرور با کلیک روی دکمه
 
  Response headers
Content-Length:"0"

0 0
فکر نمیکنم کد رو بذارید ببینیم شاید مشکلی داشته باشه... (4 سال پیش)
0 0
وقتی dataType: "json " را حذف کنم ، به صورت جاوااسکریپت اجرا می شود با همین خروجی (4 سال پیش)
0 0
کد php که این ریسپانس رو میده. (4 سال پیش)
0 0
در هر جا که از این روش استفاده کنم ، خروجی که در قسمت network می بینم ، نامعتبراست. (4 سال پیش)
 برای این سوال 1 پاسخ وجود دارد. مشاهده پاسخ صحیح
پاسخ به سوال 
120448  4 سال پیش
+1 0

 پاسخ صحیح

 در قسمت Response سرور در ابتدای صفحه ردیفی ازنقاط قرمز وجود داشت. با استفاده از View page sourceخطایابی تا فایل.htaccess و  index.php و  config.php ادامه دادم .خطای نوشتاری که فاصله اضافی بود را حل کردم .درست شد.

+1 0
من هم همین مشکل رو داشتم که قبل از کد json یک کاراکتر نامرئی بود که باعث میشد js اون رو Json نشناسه. مشکل از فرمت utf-8 بود که با ++Notepad تمام فایل های php پروژه رو باز کردم و همشون رو با انکودینگ UTF-8 without BOM ذخیره کردم درست شد. (4 سال پیش)
0 0
خیلی ممنون مشکل من هم utf-8 without Bom بود و حل شد (3 ماه پیش)

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