Путаница в функции успеха ajax

#php #javascript #jquery #ajax

#php #javascript #jquery #ajax

Вопрос:

У меня есть какой-то серверный скрипт для проверки пользователя:

 function passlog($use,$pass){
        $Use = mysql_real_escape_string($use);
        $Pass= mysql_real_escape_string($pass);
$res=mysql_query($sql) or die(_ERROR26.":".mysql_error());
  $dat=mysql_fetch_array($res,MYSQL_NUM);  //it will get result ex. "3"
        if(mysql_affected_rows()>0) {
                        echo $dat[0];
                        }else{
                        echo "No specified data";
        }
return 0;
}
  

после этого, если этот скрипт получит результат как «3», он вернется к функции успеха ajax. Затем выполните следующее задание, если показать результат как «3», он отправит некоторое значение в другую переменную.

 $.ajax({
        type:"post",
        url:"process3.php",
        data:params,
        cache:false,
        async:false,
        success: function(res){
                               $("#dialog").dialog('close');
                               var now = new Date();
                               var months = new Array('01','02','03','04','05','06','07','08','09','10','11','12');
                               var date = ((now.getDate()<10) ? "0" : "")  now.getDate();
                               function fourdigits(number) {
                                         return (number < 1000) ? number   1900 : number;
                                         }
                               var today =  months[now.getMonth()]   "/"  date  "/"   (fourdigits(now.getYear()));

                               switch(parseInt(res)){
                                     case "3":
                                               $("#appdate").text(today);         //not work
                                               $("#app").text($("#user").val()); //not work
                                               break;
                          }
                            $.ajax({
                                    type:"post",
                                    url:"process1.php",
                                    data:"tversion=" matches "amp;action=tunermatches",
                                    cache:false,
                                    async:false,
                                    success: function(res){
                                                 $('#tunedat').replaceWith(
                                                                                    "<div id='tunedat'><h6>"   res   "</h6></div>"
                                                                  );
                                                 }
                                     });
                },
    error:function (xhr, ajaxOptions, thrownError){
            alert(xhr.status);
            alert(thrownError);
            }
        });
  

но это не работает, и я не получаю сообщения об ошибке. Ошибочен ли мой ajax?


у меня внутри ajax тоже есть ajax. идентификатор div = app внутри ячейки под quot;проблема с помощьюquot;

Ответ №1:

Ваш switch получает число, но ваш case предназначен для строки:

 switch(parseInt(res)){
    case "3":
  

Без каких-либо других исправлений в вашем коде это следует изменить на

 switch(parseInt(res)){
    case 3:
  

Комментарии:

1. все еще не работает. $("#app").text($("#user").val()) это отправка значения из текстового поля в div.

2. Так $("#appdate").text(today); работает ли сейчас? И не $("#app").text($("#user").val()) предполагается, что это делается? Установить значение из пользовательского текстового поля в качестве текста для div? Что вы хотите, чтобы он делал вместо этого?

3. оба варианта не работают, именно я хочу, чтобы после заполнения некоторого значения внутри, user затем нажмите на кнопку, ajax отправит это значение для проверки пользователя, если ok, он получит результат, так как 3 тогда, если результат 3 , div получит значение от пользователя.

4. Итак, что происходит при нажатии? Вы пробовали отладку с помощью Firebug if в Firefox или инструментах разработчика Chrome? Выполняется ли запрос? Какой ответ от сервера?

5. для ответа с сервера 3 нет ошибки в инструментах разработчика