Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/16: Рейтинг темы: голосов - 16, средняя оценка - 5.00
2 / 2 / 1
Регистрация: 07.03.2010
Сообщений: 109

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

08.01.2011, 23:04. Показов 3187. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США. Нашел на реддите интересную статью под названием «Кто-нибудь знает, где получить бесплатный компьютер или. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru