2 / 2 / 1
Регистрация: 07.03.2010
Сообщений: 109

Неизвестная ошибка

08.01.2011, 23:04. Показов 3260. Ответов 19
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Текст введенный в поле #user_text при отправке должен сохранятся в базу. Все так и происходит. Сервер отвечает "запрос выполнен", но браузер кричит "произошла неизвестная ошибка". Можете подсказать почему? 2-й день голову ломаю...

index.php
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <style type="text/css" media="all">@import url(/chat_style.css);</style>
    </head>
    <script type="text/javascript" src="/jquery-1.4.4.min.js"></script>
    <script type="text/javascript">
    $(document).ready(function()
    {
    $("#button_close").click(function()
    {
    $("#chatblock").fadeOut('slow');
    });
 
    $('#chatblock').submit(function(evObj){
    evObj.preventDefault();
 
var log  = function(msg){
                        console.log ? console.log(msg) : alert(msg);
                }
var name = $('#user_text').attr('name');
var txt = $("#user_text").val(); 
var dataString = 'name='+name+'&txt='+txt;
                 
    $.ajax
    ({
    url         : 'obrob.php',
    type        : 'POST',
    data        : dataString,
    success     : function(data, textStatus, xhr){
                 if(data.success == '1')
                    log('запрос отправлен');
                 else if(data.error == '1')
                    log('запрос не отправлен. причина: '+data.notification);
                 else
                    log('произошла неизвестная ошибка');
                    },
 
    error       : function(xhr, textStatus, errorObj){
             log('произошла ошибка. сообщение небыло отправлено.');
          }   
 
    });
    $.ajaxSetup({
    beforeSend  : function(){$('#button_send').hide();$('#img').show();},
    complete    : function(){$('#img').hide();$('#button_send').show();}
    });
    });
    });
    </script>
    <body>
    <form action="obrob.php" name="form" id="chatblock">
       <input type="text" id="chatbox"  class="chatbox" name="chatbox"/>
       <input type="text" id="user_text" class="user_text" name="user_text" value="введите текст"/>
       <input type="submit" id="button_send" name="send" value="îòïðàâèòü"/><img id="img" src="/ajax-loader.gif">
       <input type="button" id="button_close" name="close" value="çàêðûòü"/>
    </form>
    </body>
    </html>
obrob.php
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
mysql_connect("localhost", "root", "") or die('нет соединения');
mysql_select_db('chat');
if(isset($_POST['name'])){
$msg = strip_tags($_POST['txt']);
$sql = "INSERT INTO message (messages) VALUES ('$msg')";
$result=mysql_query($sql);
if(!$result){
echo mysql_error();
}else {
echo 'запрос выполнен';
}
}else {
echo "нет отправленных данных";
}
?>
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
08.01.2011, 23:04
Ответы с готовыми решениями:

Неизвестная функция
В HTML есть строчка: &lt;form onSubmit=&quot;MakeLogin('Тут хэш'); return false;&quot;&gt; Не пойму что за функция и откуда она взялась. Ни в одном...

Ошибка 101 (net::ERR_CONNECTION_RESET): Неизвестная ошибка
Установил сегодня 7ку , все вроде нормально , поствил гугл хром и мемогу зайти на сайт gmail на другие вроде заходит , а на этот нет ,...

При попытке добавить программно запись в зашифрованную паролем БД MS Access с помощью метода Insert выскакивает ошибка - Неизвестная ошибка
При попытке добавить программно запись в зашифрованную паролем БД MS Access с помощью метода Insert выскакивает ошибка - Неизвестная ошибка...

19
 Аватар для Vovan-VE
13210 / 6599 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
09.01.2011, 07:25
Проблема, кажется, вот в этом:
JavaScript
1
2
3
4
5
6
7
8
success : function(data, textStatus, xhr) {
    if(data.success == '1')
        log('запрос отправлен');
    else if(data.error == '1')
        log('запрос не отправлен. причина: '+data.notification);
    else
        log('произошла неизвестная ошибка');
},
и
PHP
1
2
3
4
5
if(!$result){
    echo mysql_error();
} else {
    echo 'запрос выполнен';
}
Что JS ждет в ответ и чтО на самом деле вместо этого выдает PHP?
0
2 / 2 / 1
Регистрация: 07.03.2010
Сообщений: 109
09.01.2011, 15:00  [ТС]
Мне подсказывали, что корректнее будет записать
JavaScript
1
2
3
4
5
6
7
         success: function(data){
            if(data == 'success') {
              //...
            } else {
             //...
            }
         },
Но от этого ничего не изменилось...
Что JS ждет в ответ и чтО на самом деле вместо этого выдает PHP?
PHP возвращает "запрос выполнен". А JS в ответ ничего не ждет...
Может я что то не так понял, я только начал учить jQuery...подскажите тогда что и как нужно узнать...
0
 Аватар для Vovan-VE
13210 / 6599 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
09.01.2011, 15:39
Цитата Сообщение от Cashman Посмотреть сообщение
PHP возвращает "запрос выполнен"
Это верно, выдает plaintext.
Цитата Сообщение от Cashman Посмотреть сообщение
А JS в ответ ничего не ждет...
$.ajax() ждет в ответ корректный XML.
$.getJSON() ждет в ответ объект JSON.

Имхо, так лучше будет.
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
$.ajax({
    url : 'obrob.php',
    type : 'POST',
    data : dataString,
    dataType : 'json',
    success : function(data, textStatus, xhr){
        if (data.success)
            log('запрос обработан');
        else if (data.error)
            log('запрос не обработан. причина: ' + data.error);
        else
            log('произошла неизвестная ошибка');
    },
    error : function(xhr, textStatus, errorObj){
        log('произошла ошибка. сообщение небыло отправлено.');
    }
});
PHP
1
2
3
4
5
if (!$result) {
    echo json_encode(array('error' => mysql_error()));
} else {
    echo '{"ok":1}';
}
1
2 / 2 / 1
Регистрация: 07.03.2010
Сообщений: 109
09.01.2011, 16:22  [ТС]
всеравно выдает произошла неизвестная ошибка,
JavaScript
1
log('произошла неизвестная ошибка '+textStatus);
выдает "произошла неизвестная ошибка success" ... если success, то почему ошибка?
0
 Аватар для Vovan-VE
13210 / 6599 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
09.01.2011, 17:52
Попробуйте так. Может, PHP еще что-то лишнее выводит.
JavaScript
1
2
else
    log('произошла неизвестная ошибка\n' + xhr.responseText);
1
2 / 2 / 1
Регистрация: 07.03.2010
Сообщений: 109
09.01.2011, 19:51  [ТС]
Нет, ничего лишнего не выводит (

Может вы попробуете у себя проверить этот код. Много людей пытались разобраться в чем причина...может быть причина у меня, а не в коде...
0
 Аватар для Andrix
11 / 11 / 0
Регистрация: 13.12.2010
Сообщений: 61
09.01.2011, 19:57
Кинь, пожалуйста, скрин, где показано сообщение об ошибке.
0
 Аватар для Vovan-VE
13210 / 6599 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
09.01.2011, 20:03
Цитата Сообщение от Cashman Посмотреть сообщение
Нет, ничего лишнего не выводит (
Ну тогда код ответа точно покажет.
JavaScript
1
log('произошла неизвестная ошибка\n' + xhr.status);
1
2 / 2 / 1
Регистрация: 07.03.2010
Сообщений: 109
09.01.2011, 20:16  [ТС]


Добавлено через 5 минут
Цитата Сообщение от Vovan-VE Посмотреть сообщение
Ну тогда код ответа точно покажет.
JavaScript
1
log('произошла неизвестная ошибка\n' + xhr.status);
код 200 )
0
 Аватар для Andrix
11 / 11 / 0
Регистрация: 13.12.2010
Сообщений: 61
09.01.2011, 20:51
data — передаваемые данные — строка иль объект
1. проверить на объект, если не объект, то соответственно неверные значения будут в результате

Локальные AJAX Event'ы:

* beforeSend — срабатывает перед отправкой запроса
* error — если произошла ошибка
* success — если ошибок не возникло
* complete — срабатывает по окончанию запроса
2. Ненадо вообще проверять
JavaScript
1
if(data.error == '1')
, проверка уже произошла, и если будет ошибка, то будет выполняться ветка
JavaScript
1
2
3
 error       : function(xhr, textStatus, errorObj){
             log('произошла ошибка. сообщение небыло отправлено.');
          }
, а так скорее всего там некорректные данные.
Как вариант

Добавлено через 10 минут
Обработчики событий

Настройки beforeSend, error, dataFilter, success и complete позволяют установить обработчики событий, которые происходят в определенные моменты выполнения каждого ajax-запроса.

beforeSend происходит непосредственно перед отправкой запроса на сервер.
error происходит в случае неудачного выполнения запроса.
dataFilter происходит в момент прибытия данных с сервера. Позволяет обработать "сырые" данные, присланные сервером.
success происходит в случае удачного завершения запроса.
complete происходит в случае любого завершения запроса.
Если данные не вернутся, то будет ошибка, а если вернуться, то выполниться ветка success. Зачем производиться проверка data?

Добавлено через 7 минут
З.Ы. В data будет находиться все, что вывел PHP скрипт.
1
2 / 2 / 1
Регистрация: 07.03.2010
Сообщений: 109
09.01.2011, 22:53  [ТС]
Цитата Сообщение от Andrix Посмотреть сообщение
проверить на объект, если не объект, то соответственно неверные значения будут в результате
Вы про это?
JavaScript
1
alert(typeof dataString);
Цитата Сообщение от Andrix Посмотреть сообщение
В data будет находиться все, что вывел PHP скрипт.
В data находятся отосланные данные и данные которые прислал PHP?

Добавлено через 42 минуты
Вообщем с видеоуроков много толку не возьмешь. Качаю книгу jQuery. Подробное руководство по продвинутому JavaScript, говорят, что самая лучшая...
0
 Аватар для Andrix
11 / 11 / 0
Регистрация: 13.12.2010
Сообщений: 61
10.01.2011, 00:27
поменяй там где success на это
JavaScript
1
2
success     : function(data, textStatus, xhr){
                    log(data);},
в логе должно вывестись то, что вывел тебе php
0
2 / 2 / 1
Регистрация: 07.03.2010
Сообщений: 109
10.01.2011, 01:31  [ТС]
Вот что вывел : Object { ok=1}
0
 Аватар для Andrix
11 / 11 / 0
Регистрация: 13.12.2010
Сообщений: 61
10.01.2011, 01:44
Судя по всему ты прописал там код
PHP
1
2
3
4
5
if (!$result) {
    echo json_encode(array('error' => mysql_error()));
} else {
    echo '{"ok":1}';
}
а значит теперь надо так:
JavaScript
1
2
success     : function(data, textStatus, xhr){
                    log(data['ok']);},
и он тебе должен вывести единицу в логе
но если я не ошибаюсь, то можно и так
JavaScript
1
2
success     : function(data, textStatus, xhr){
                    log(data.ok);},
Добавлено через 2 минуты
а вообще верни тот код, который у тебя был в php назад, мне кажется это тебе больше подойдет
1
2 / 2 / 1
Регистрация: 07.03.2010
Сообщений: 109
10.01.2011, 01:56  [ТС]
и он тебе должен вывести единицу в логе
но если я не ошибаюсь, то можно и так
И так и так работает и возвращает "1"
а вообще верни тот код, который у тебя был в php назад, мне кажется это тебе больше подойдет
Да, но основной проблемы это не решает ))

Добавлено через 4 минуты
Мда, сложный момент. Стоит ли вообще что то предпринимать? Может это баг? Может эта ошибка повлиять на мои дальнейшие действия?

Но все же, хотелось бы узнать причину...я её так долго пытаюсь узнать, что начинаю сдаваться ))
0
 Аватар для Andrix
11 / 11 / 0
Регистрация: 13.12.2010
Сообщений: 61
10.01.2011, 12:49
Что? Выводиться до сих пор ошибка? Или какой проблемы?
0
2 / 2 / 1
Регистрация: 07.03.2010
Сообщений: 109
10.01.2011, 16:51  [ТС]
Если стоит:
JavaScript
1
2
3
4
5
6
7
8
    success     : function(data, textStatus, xhr){
                 if(data.success == '1')
                    log('запрос отправлен');
                 else if(data.error == '1')
                    log('запрос не отправлен. причина: '+data.notification);
                 else
                    log('произошла неизвестная ошибка');
                    },
то выводит "произошла неизвестная ошибка", но почему не "запрос отправлен"
0
 Аватар для Andrix
11 / 11 / 0
Регистрация: 13.12.2010
Сообщений: 61
10.01.2011, 17:21
Потому что в ответе php не создаются такие переменные как success, error. Поэтому всегда выводит это сообщение.
Логика использования неправильная.

Добавлено через 4 минуты
Как я уже говорил: в data лежит то, что вывело в php.
Если необходимо узнавать что запрос к php файлу выполнен или нет, то используется такой код:
JavaScript
1
2
3
4
5
6
7
8
    
 
success     : function(data){
                    log('Запрос выполнен');},
    
 
error     : function(data, textStatus, xhr){
                    log('Запрос не выполнен');},
а если необходимо узнать что вывело в php, то можно использовать такой код:
JavaScript
1
2
3
success     : function(data){
                    log('Запрос выполнен');
                    log(data);},
1
2 / 2 / 1
Регистрация: 07.03.2010
Сообщений: 109
10.01.2011, 17:27  [ТС]
А, спасибо, теперь понял )
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
10.01.2011, 17:27
Помогаю со студенческими работами здесь

Неизвестная ошибка
n,m,p,o,i,j:byte; a,b:matr; min1,min2:integer; procedure W(l,k:byte; var x:matr); begin writeln ('Введите массив ',l,'*',k); ...

Неизвестная ошибка
Помогите найти ошибку ЗАдание ДАно натуральное число n. Посчитать, сколько неотрицательных элементов есть в матрице А, если &quot;а...

Неизвестная ошибка
Что значит эта ошибка?

Неизвестная ошибка
При самом простом наборе столкнулся с ошибкой,не знаю в чём причина.Всё элементарно однако при сборке выдаёт ошибку.

Неизвестная ошибка
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in X:\home\slime\www\companies\index.php on line 56 ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

Новые блоги и статьи
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru