عرض سلام و ادب
تو این کد دیتای برگشتی از سرور رو به آبجکت جاوااسکریپتی تبدیل کردم و ازش استفاده کردم:
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 شروع کنیم و مطمئنا این روش خوبی نیست.
ممنون میشم راهنمایی کنید.