if проверките не работят при върнат отговор? (jQuery)

streleca_stz

Registered
Привет,
Имам доста странен проблем, който бих се радвал ако можете да ударите едно рамо! Имам скалъпена една функция, която изпраща данните до друг файл /AJAX/ и очаква определен стринг като отговор. При успех на върнат стринг трябва просто да направя една проверка и да се случи нещо - да, но точно проверките не искат да сработят. Пробвах и с двата варианта (if/else & switch) ... Някой може ли да каже защо се получава така?
[js]function rate(vote, id, type, all){
$.ajax({
url: "core/ajax/voting.php",
type: 'POST',
data: 'rate=' + vote + '&type=' + type + '&id=' + id,
success: function(response){
switch(response){
case 'success' :
alert('Успешно гласува!');
break;

case "voted" :
alert('Вече си гласувал!');
break;

case 'notLogged' :
alert('Не си логнат!');
break;
}
}
});
}[/js]Ето я въпросната ми функция. Проверявам с един alert какво връща заявката преди проверката и връща правилно стринговете.
 
Явно response не съдържа нито един от тези текстове. За да разбереш каква му е стойността използвай console.log(response) и гледай в конзолата - там ще намериш текста, който търсиш :?:
 
anonimen каза:
Явно response не съдържа нито един от тези текстове. За да разбереш каква му е стойността използвай console.log(response) и гледай в конзолата - там ще намериш текста, който търсиш :?:
Точно това е, че връща правилно стринговете, всички стрингове, които се връщат като отговор ги има в проверките.. :/ Направих проверка както с console.log, така и с alert.

ПП:
Всъщност открих някакво решение - когато връща отговор като число работи, но когато връща стринг не иска.. И да, проверяввам ги 1:1 дали е написано, даже copy/paste съм ги правил, за да съм на 100% сигурен, че са еднакви... :|
 
Тоест response съдържа точно тези стриногве, които са в case-овете?

Вероятно завършват с нов ред, който не отчиташ в js-та. Пробвай да trim-неш стринга преди да му проверявашстойността.
 
anonimen каза:
Тоест response съдържа точно тези стриногве, които са в case-овете?

Вероятно завършват с нов ред, който не отчиташ в js-та. Пробвай да trim-неш стринга преди да му проверявашстойността.
Nope, отново нищо не се случва.

ЕДИТ:
Да, сработи ... явно ще трябва ако е стринг винаги да го тримвам преди да правя проверката. Благодаря!
 

Back
Горе