Модераторы: Sardar, Aliance

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> AJAX запрос. Почему срабатывает функция ошибки? Срабатывает функция ошибки хотя запрос у 
:(
    Опции темы
SanychBY
Дата 5.6.2013, 23:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 4.6.2013

Репутация: нет
Всего: нет



Цитата(Arantir @  5.6.2013,  23:00 Найти цитируемый пост)
Правило №1: Не знаешь — не делай.

Вы не правы

Цитата(Arantir @  5.6.2013,  23:00 Найти цитируемый пост)
С чего это вдруг json стал javascript-приложением? о_О
Вообще-то json — это текст. Он может иметь MIME-тип text/plain. Или на худой конец text/html, так как это тоже, в принципе, текст.
Грубо говоря, json-ом его делает только то, что функция JSON.parse с ним не вызовет ошибки. То есть суть лишь в формате, но текст есть текст.

Да мне все равно что использовать просто я хочу обработать data и мне показалось json само нормально для этого подходит. 
Цитата(Arantir @  5.6.2013,  23:00 Найти цитируемый пост)
Отвлекитесь слегка от jQuery и поинтересуйтесь, как работает HTTP, JavaScript и AJAX. Чтобы меньше всякой алхимии было =)

все читал все изучал

Добавлено через 5 минут и 2 секунды
Тем более если вы такой умный и мудрый так подскажите где ошибка
PM MAIL   Вверх
Arantir
Дата 5.6.2013, 23:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Рыбак без удочки
**


Профиль
Группа: Участник
Сообщений: 960
Регистрация: 18.11.2012

Репутация: 3
Всего: 55



Кроме json сервер случайно больше ничего не выдает? 

Цитата(SanychBY @  5.6.2013,  22:06 Найти цитируемый пост)
Вы не правы

Может быть. Я этому правилу не следую  smile 




--------------------
interface Жопа {
    // ATTENTION: has to be implemented by every class of the project for proper project work
}
PM   Вверх
SanychBY
Дата 5.6.2013, 23:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 4.6.2013

Репутация: нет
Всего: нет



Цитата(Arantir @  5.6.2013,  23:13 Найти цитируемый пост)
Кроме json сервер случайно больше ничего не выдает? 

http://www.cyberforum.ru/javascript-jquery/thread891072.html
http://forum.sources.ru/index.php?showtopic=377821
Я писал на других форумах об этой проблеме, но никто не знает где болезнь. Там много скринов и информации. Буду благодарен если вы ознакомитесь.
PM MAIL   Вверх
Arantir
Дата 5.6.2013, 23:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Рыбак без удочки
**


Профиль
Группа: Участник
Сообщений: 960
Регистрация: 18.11.2012

Репутация: 3
Всего: 55



Попробуйте запустить это:
Код

$.ajax({type:"POST", dataType:"text", url:"articlejs.php",
    success: function (data)
    {
        alert(data);
    }, 
    error: function(XMLHttpRequest, textStatus, errorThrown)
    {
        alert(errorThrown);
    }
});
И скажите, что выводит.

Добавлено через 3 минуты и 40 секунд
js-файл и php-файл точно оба сохранены в utf-8?

Добавлено через 5 минут и 4 секунды
Цитата(SanychBY @  5.6.2013,  22:06 Найти цитируемый пост)
Тем более если вы такой умный и мудрый так подскажите где ошибка 

Простите, просто выпендриваюсь =)


--------------------
interface Жопа {
    // ATTENTION: has to be implemented by every class of the project for proper project work
}
PM   Вверх
ksnk
Дата 6.6.2013, 06:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 38
Всего: 386



SanychBY, дай лучше адрес странички, на которой тестируешь. 

Если информация секретна/локальна/"нипакажу", то нужно смотреть ответ сервера на запрос.
Смотреть нужно в окне отладки Хрома Ctrl-Shift-j, во вкладке Network. Там нужно найти и выбрать запрос "с ошибкой", найти в нем вкладку Response, отметить все и бросить сюда.  




--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
SanychBY
Дата 6.6.2013, 20:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 4.6.2013

Репутация: нет
Всего: нет



Цитата(Arantir @  5.6.2013,  23:17 Найти цитируемый пост)
Попробуйте запустить это:

Все замечательно работает.

Цитата(Arantir @  5.6.2013,  23:17 Найти цитируемый пост)
js-файл и php-файл точно оба сохранены в utf-8?

проверил -точно
Цитата(ksnk @  6.6.2013,  06:47 Найти цитируемый пост)
 дай лучше адрес странички, на которой тестируешь. 

http://smartapk.vv.si/article.php?a=4
мне это нужно что бы сделать систему комментариев. Вам придется пройти регистрацию что бы иметь возможность их оставлять(подтверждать мыло не обязательно - само письмо Вам придет, но проверки активировано оно или нет пока нет)  
извиняюсь за убогую регистрацию - работаю=)
PM MAIL   Вверх
Arantir
Дата 6.6.2013, 21:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Рыбак без удочки
**


Профиль
Группа: Участник
Сообщений: 960
Регистрация: 18.11.2012

Репутация: 3
Всего: 55



Создайте файл *.php с двумя строчками:
Код

<?php
echo json_encode(array('rez'=>'done'));
и впишите вместо articlejs.php.

Если все станет ОК, то разбирайтесь с articlejs.php.
Чтобы не было лишнего вывода, то сделайте так:
Код

<?php
ob_start(); // запись в буффер

// ... Ваш код articlejs.php

ob_end_clean(); // очищаем буффер
echo json_encode(array('rez'=>'done'));
exit();



--------------------
interface Жопа {
    // ATTENTION: has to be implemented by every class of the project for proper project work
}
PM   Вверх
SanychBY
Дата 6.6.2013, 21:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 4.6.2013

Репутация: нет
Всего: нет



Все работает при мини-коде! А при полном нет(((
Вот полный
Код

<?php
header('content-type: application/json; charset=utf8');
if (((isset($_COOKIE['email']) and isset($_COOKIE['password'])) or (isset($_SESSION['password']) and isset($_SESSION['email']))) and isset($_POST['a']))
{
    include("baza/baza1.php");
    $q=$_POST['a'];
    $a = strlen($q);
    $b = $a -3;
    $qsu = substr($q, -$b, $b);
    $emailc = $_COOKIE['email'];
    $passwordc=$_COOKIE['password'];
    $emails = $_SESSION['email'];
    $passwords = $_SESSION['password'];
    $rezult = mysql_query("SELECT id FROM noteusers WHERE email='$emailc' AND password='$passwordc' OR email='$emails' AND password='$passwords'",$db);
$myrow = mysql_fetch_array($rezult);
$id = $myrow['id'];
   //добавить коментрий  
    if (isset($_POST['text']) and isset($_POST['a']))
{
    $text=$_POST['text'];
    $rezultatv = mysql_query("INSERT INTO commentsartcles (autor,articleid,text) VALUES ('$id',$qsu,'$text')");
    echo json_encode(array('response' => 'Yes!'));
    
    exit;

}
//голосовать за стаью
if (isset($_POST['param']))
{
    $param=$_POST['param'];
    $rezultat = mysql_query("INSERT INTO votearticles (articlesid,user,vote) VALUES ($qsu,'$id','$param')");
}
}
?>

PM MAIL   Вверх
Arantir
Дата 6.6.2013, 21:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Рыбак без удочки
**


Профиль
Группа: Участник
Сообщений: 960
Регистрация: 18.11.2012

Репутация: 3
Всего: 55



Значит он выдает лишние байты в ответ. Сделайте так, как в моем предыдущем посте описано, чтобы не выводилось лишнего в браузер.


--------------------
interface Жопа {
    // ATTENTION: has to be implemented by every class of the project for proper project work
}
PM   Вверх
SanychBY
Дата 6.6.2013, 22:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 4.6.2013

Репутация: нет
Всего: нет



Цитата(Arantir @  6.6.2013,  21:59 Найти цитируемый пост)
Значит он выдает лишние байты в ответ. Сделайте так, как в моем предыдущем посте описано, чтобы не выводилось лишнего в браузер. 

египетские боги! Он работает! Спасибо Вам огромное!
PM MAIL   Вверх
SanychBY
Дата 7.6.2013, 12:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 4.6.2013

Репутация: нет
Всего: нет



Arantir, но сказали что это не исправление а костыль
PM MAIL   Вверх
Arantir
Дата 7.6.2013, 12:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Рыбак без удочки
**


Профиль
Группа: Участник
Сообщений: 960
Регистрация: 18.11.2012

Репутация: 3
Всего: 55



SanychBY, вообще-то, сказали правильно =)

Но это не означает, что существует какие-то две строчки, которые есть "настоящим исправлением". Коли бы так было, то не было бы костылей. На то они и костыли, что подпирают что-то большее.

Ну это еще не самое плохое решение, ведь ошибки все равно видно в логах, они всего-лишь в браузер не выводятся.

Проблема в Вашей структуре скрипта. Та, которую Вы привели, честно говоря, она немного удручает =) Она не ошибочна сама по себе, просто в ней очень трудно эти ошибки находить, если они там появляются.

Добавить ООП и паттернов бы не помешало =) А вообще, попробуйте попользоваться каким-то фреймворком, хотя бы поначалу, чтобы почерпнуть существующих идей и приемов.


--------------------
interface Жопа {
    // ATTENTION: has to be implemented by every class of the project for proper project work
}
PM   Вверх
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Применение библиотек | Следующая тема »


 




[ Время генерации скрипта: 0.0599 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.