آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
مشکل عدم دسترسی خریداران پیشین به برخی آموزش ها برطرف شد
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

مشکل در دریافت json

hamid_sub7  6 سال پیش  6 سال پیش
0 0

سلام

دوستان من دقیقا مثل استاد کد زدم منتها هنگام دریافت داده رو هم دریافت میکنم منتها بصورت Object تو تصویر زیر نگاه کنید :

خروجی در فرم و input :

خروجی در console :

کد سمت Model :

public static function get_user_access($userId){
$db = Db::getInstance();
$records = $db->first("SELECT access FROM x_user WHERE user_id='$userId'");
return $records;
}

کد سمت Controller :

 
public function getUserAccess($userId){
$output['accessName'] = UserModel::get_user_access($userId);
echo json_encode($output);
}

کد فرم و Ajax :

 
<form action="<?=baseUri()?>admin/promote" method="post">
<div class="tal ltr">

<input style="padding-left: 3px" type="text" name="userId" id="userId" placeholder="User Id"><br>
<input style="margin-top: 5px; padding-left: 3px" type="text" name="access" id="access" placeholder="Access Name (Seprated By , )">
<br>
<br>
<button type="submit" class="btn-blue">Promote</button>
</div>
</form>

<script>
$(function(){
$('#userId').on('keyup',function(){
var value = $(this).val();
$.ajax('/notes-v2/admin/getUserAccess/' + value,{
dataType: "json",
success: function(data){
console.log(data.accessName);
$('#access').val(data.accessName);
}
});
});
});
</script>

ممنون میشم راهنمایی کنید

 برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال 
hamid_sub7  6 سال پیش
0 0

البته خودم مشکلم رو پیدا کردما مشکل اینجاست که وقتی در قسمت constroller یه آرایه ای بنام output تعریف میکنیم و یک اندیس بنام access بهش اختصاص میدیم برای همون اندیس یعنی مقدارش مجددا یک آرایه ای بوجود میاد که مقادیر بصورت آرایه توش قرار میگیره، منظورم اینه که یک آرایه بنام output فقط یک خونه داره و توی اون خونه آرایه ای داریم به اندازه مقادیر access به همین علت بصورت object خروجی میده!

اما سوالم اینجاست چرا واسه استاد درست نشون میده ؟ وقتی کدها جفت هم هستش، یعنی میتونه از ورژن phpهامون باشه ؟ و اینکه من مشکلم رو اینجوری حل کردم اما باز یه ایرادی داره زمانی که یه لحظه input رو پاک میکنیم تا کد دیگه توش وارد کنیم وقتی میخواد null برگردونه داخل کنسول error میده درسته خطاش در ظاهر مشکلی نیس اما خوشآیند نیست برام. من اومدم کد قسمت کنترولر رو بصورت زیر تغییر دادم :

 
public function getUserAccess($userId){
echo json_encode(UserModel::get_user_access($userId));
}

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


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