عرض سلام و ادب
تو این کد دیتای برگشتی از سرور رو به آبجکت جاوااسکریپتی تبدیل کردم و ازش استفاده کردم:
success: function(response) {
var returnDataToObj = JSON.parse(response);
var folderRow = returnDataToObj["row"];
var folderId = returnDataToObj["folderId"];
if (folderRow == 1) {
$('<li> <a href="?folder_id=' + folderId + '" class="folders-text">' + input.val() + '</a> <a href="?delete_folder=' + folderId + '" class="remove"><i class="entypo-trash"></i></a> </li>').appendTo('.folderList');
} else {
alert(response);
}
}
ولی یه مشکلی که داره چون دیتای برگشتی parse شده دیگه قسمت else کد اجرا نمیشه و خطای زیر رو میده:
Uncaught SyntaxError: Unexpected token F in JSON at position 0
البته با روش زیر حل شد ولی مطمئنم که روش بهینه ای نیست
success: function(response) {
var returnData = response;
if (returnData.startsWith("Failed")) {
alert(returnData);
stop();
} else {
var returnDataToObj = JSON.parse(response);
var folderRow = returnDataToObj["row"];
var folderId = returnDataToObj["folderId"];
if (folderRow == 1) {
$('<li> <a href="?folder_id=' + folderId + '" class="folders-text">' + input.val() + '</a> <a href="?delete_folder=' + folderId + '" class="remove"><i class="entypo-trash"></i></a> </li>').appendTo('.folderList');
}
}
}
تو این روش من به همه پیامهای خطایی که تعریف کردم یه کلمه ‘Failed’ اضافه کردم و با تابع startsWith تعیین کردم که اگه رشته برگشتی از سرور با این کلمه شروع شد، اون رشته رو alert کن.در غیر اینصورت قسمت else رو اجرا کن، تو این روش باید همه ی پیامهای خطای تعریفی رو با کلمه Failed شروع کنیم و مطمئنا این روش خوبی نیست.
ممنون میشم راهنمایی کنید.