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

اضافه کردن نوت جدید بصورت ایجکس

121071  7 سال پیش  7 سال پیش
0 0

سلام و عرض ادب

من الان بخش چهار آموزش (نهایی سازی پروژه نوت بخش اول) هستم. میخواستم بدونم چجوری میشه بدون ریلود شدن صفحه و با ایجکس نوت اضافه کرد.کدهایی که خودم اضافه کردم اینا هستن و ممنون میشم اگه تکمیلشون کنید:
برای صفحه home :

$(function(){
$('#submitForm').hide(); // اضافه کردن فرم سابمیت به صفحه هوم با کلیک رو دکمه درج یادداشت

$('#submitBotton').click(function(){
$('#submitForm').toggle();
});
});


// گذاشتن onclick برای فرم اضافه شده و ارسال ریکوئست ایجکس از طریق آن

function ajaxSubmit(){
var title = $('#noteTitle').val();
var description = $('#noteDescription').val();

$.ajax('/notes-v2/note/submit/' + title + '/' + description, {

type: 'post',
dataType: 'json',
success: function(data) {
}
});
}

 

متد سابمیت:

 

public function submit($title, $description){
if ($title != null){
$this->submitNote($title, $description);
} else {
$this->failSubmit();
}
}


private function submitNote($title, $description){

if (!isset($_SESSION['user_id'])){
header("Location: /notes-v2/page/home");
exit;
}

$userId = $_SESSION['user_id'];

NoteModel::insert($title, $description, $userId);

echo json_encod(array(
'status' => 'hello from successSubmit',
'title' => $title,
'description' => $description,
));
}

private function failSubmit(){
echo json_encode(array(
'status' => 'hello from failSubmit',
));
}
 
+1 0
در آموزشها توضیح داده شده ... در قسمت url ای جکس ک میره به ادرسی ک شما دادین و کارهای پشت پرده رو بدون رفرش صفحه انجام میده اما برایذ اینکه در خود صفحه هم نشان بدین ک تغغیری ایجاد شده باید در قسمت success ای جکس کارهای خودتون انجام بدین به عنوان مثال تغییر رنگ المان خاصی یا حذف اون المان از صفحه و ... (7 سال پیش)
0 0
ممنون از پاسختون. ولی من در قسم success مثلا یه alert ساده میگیرم هم اجرا نمیشه . مشکل از متد سابمیت نیست؟ (7 سال پیش)
0 0
آیا اگر کد ; 'dataType:'json را حذف کنیم، مشکل حل می شود؟ (7 سال پیش)
0 0
آیا اگر کد ; 'dataType:'json را حذف کنیم، مشکل حل می شود؟ (7 سال پیش)
0 0
آیا اگر کد ; 'dataType:'json را حذف کنیم، مشکل حل می شود؟ (7 سال پیش)
0 0
120448 عزیز فک نکنم ربطی به حذف کردن dataType json داشته باشه. من هنوز که هر رکوردی تو دیتابیس ثبت میشه فقط با علامت سوال نشون داده میشه. اول با کاراکترهای unicode نمایش داده میشد اما الان که file encoding رو به utf8 تغییر دادم اینجوری شده (یعنی علامت سوال نمایش میده). ضمنا تابع های urldecode و utf8-decode رو هم امتحان کردم فایده ای نداشت. هنوز علامت سوال میبینم. :( (7 سال پیش)
0 0
سلام من فقط در مورد اجرای success نظر دادم ،چون با حذف ; 'dataType:'json قسمت success اجرا شد. (7 سال پیش)
 برای این سوال 3 پاسخ وجود دارد.
پاسخ به سوال 
121071  7 سال پیش
0 0

<div id="submitForm">
<div class="tac">
<div>
<br/><br/><br/>
<input id="noteTitle" type="text" placeholder="عنوان" name="title" style="width: 300px"><br>
<br>
<textarea id="noteDescription" placeholder="توضیحات" name="description" style="width: 300; height: 200px; resize: none;">توضیحات </textarea><br>
<br>
<br>
<span onclick="ajaxSubmit()" id="submitBotton2" class="btn-blue">درج یادداشت</span>
</div>
</div>
</div>
پاسخ به سوال 
امین علیپور  7 سال پیش
+2 0

من قبلا این کارو انجام دادم راهش اینه که شما با استفاده از ajax اطلاعات فرم رو ارسال میکنیم  بعد سمت کد های php میایم یه رکورد تو دیتابیس ثبت میکنم (منظورم همی نوت جدید هس)بعد با چند تا دستور تعداد رکورد های مربوط به شخص رو میکشیم بیرون و اخرین رکورد ثبت شده رو پیدا میکنیم و  با استفاده از  تابع ob_start  اطلاعات اخرین رکورد رو میریزم تو یه ارایه  ، این کارو که انجام دادیم  با استفاده از تابه json_encoded نوت رو  برمیگردونم و به عنوان data  به success ای جکس  ارسال میشه و اونجا  با استفاده از کد های جی کوئری  نوتی که کاربر ثبت کرد رو  به ته نوت ها اضافه میکنیم

0 0
ممنون از پاسختون الان کدهای من برای ارسال فرم بصورت ajax درسته؟ بعدش با جی کوئری چطوری نوت جدید رو اضافه کنیم که استایل درست اعمال بشن؟ اگه کد خودتون رو بذارید خیلی ممنون میشم ♥ (7 سال پیش)
پاسخ به سوال 
121071  7 سال پیش
0 0

یه مشکل دیگه هم هست اینکه وقتی متن فارسی درج میکنم اینطوری میشه:

+1 0
لینک (7 سال پیش)
0 0
از تابع utf8-decode هم استفاده کردم ولی هنوز مشکل سرجاشه. ممکنه ایراد از کدهای بالا باشه؟ (7 سال پیش)
0 0
هنوز وقتی فرمو سابمیت میکنم دو مشکل وجود داره : 1. پارامتر هارو دیکود میکنم ولی وقتی خروجی رو میبینم فقط علامت( ؟) سوال میاد. 2. رکورد داخل دیتابیس ثبت میشه اما هیچ واکنشی داخل success اجرا نمیشه. یعنی حتی وقتی یه alert ساده هم انجام میدم اجرا نمیشه در صورتی که رکورد تو دیتابیس ثبت شده!!! ممنون میشم اگه کسی به من کمک کنه یا اگه کسی هم قبلا سابمیت کردن نوت رو ایجکسی کرده کدهاشو بده باز ممنون میشم. (7 سال پیش)

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