Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #21 (permalink)  
Старый 01.02.2016, 22:27
Интересующийся
Отправить личное сообщение для sergei1094 Посмотреть профиль Найти все сообщения от sergei1094
 
Регистрация: 01.02.2016
Сообщений: 21

Сообщение от sergei1094 Посмотреть сообщение
Просто как пример. Я с JSON только начинаю работать, по этому не углубляюсь сейчас безопасностью своего тестового скрипта
Вы уж меня простите, но свою позицию я как бы изначально вам выразил. Смесь ёжика с колючкой, по моему мнению, ни как не относится к программированию. Вместо того что бы "ходить во круг до около" с вашими подвохами, могли бы и помочь с написанием JS.

И... про ошибку на сервере, сйечас пересоздал файл, сохранил в UTF-8, без BOM, чистый как слеза младенца, сам скрипт:

if(isset($_POST['password'])) {
    
    function asd() {
        
        header('Content-type: application/json; charset: utf-8');
        
        require 'functions.php';
        require 'admin/functions.php';
        
        $pass = $_POST['password'];

        $sql = mysqli_query($connect, "SELECT * FROM `users` WHERE `id` = '$pass'");
        $res = mysql_fetch_array($sql);
     
        $data = array(
                "status" => 1,
                "id" => $pass,
                "name" => $res['name']);
    
        $data = json_encode($data);
        
        return $data;
        exit(); 
    }
    
    echo asd(); 
}


Крое этого в файле нет ничего лишнего! Вот вы мне не подскажете, где я тут мог ошибиться?
Ответить с цитированием
  #22 (permalink)  
Старый 01.02.2016, 22:30
Интересующийся
Отправить личное сообщение для sergei1094 Посмотреть профиль Найти все сообщения от sergei1094
 
Регистрация: 01.02.2016
Сообщений: 21

Запрос к бд, без лишнего груза:

$sql = mysqli_query($connect, "SELECT * FROM `users` WHERE `id` = '1'");

if(mysqli_num_rows($sql) > 0) {

    $res = mysqli_fetch_array($sql);

    echo $res['name'];

   //Вывод: Петя
}
Ответить с цитированием
  #23 (permalink)  
Старый 01.02.2016, 22:39
Интересующийся
Отправить личное сообщение для sergei1094 Посмотреть профиль Найти все сообщения от sergei1094
 
Регистрация: 01.02.2016
Сообщений: 21

А вот попытка отправить GET

Ответить с цитированием
  #24 (permalink)  
Старый 01.02.2016, 22:49
Интересующийся
Отправить личное сообщение для sergei1094 Посмотреть профиль Найти все сообщения от sergei1094
 
Регистрация: 01.02.2016
Сообщений: 21

А ведь всё-таки эта мозилла не показывает отправку моего пост запроса, вот что показал Response от Chrome:

Ответить с цитированием
  #25 (permalink)  
Старый 01.02.2016, 22:54
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от sergei1094
могли бы и помочь с написанием JS.
Еще раз - в методе $.ajax, то бишь с написанием JS проблем как раз нет. А то что не получается в нем чего вам надо, наконец-то вы смогли увидеть. И причиной этому не JS, а код на сервере. И чему учить?

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

return $data;
exit();

Как может произойти выход, если он объявлен после возврата из функции? Если после условия if(isset($_POST['password'])) {} есть вывод в браузер, то это как раз и породит смесь ежика с ключей проволокой - сперва отдали клиенту json, затем что-то еще, что в итоге не будет json. И это может быть причиной ошибки.
Если этот скрипт обрабатывает только этот запрос и более ничего, нет кроме этого иных выводов в браузер, то exit не нужен.

Что касается результата GET запроса, то либо вы не понимаете о чем вам говорят, либо я не знаю....

if(isset($_GET['password'])) {
     
    function asd() {
         
        //header('Content-type: application/json; charset: utf-8'); //лишнее, коли тип ожидаемых данных указан на клиенте
         
        require 'functions.php';
        require 'admin/functions.php';
         
        //$pass = $_POST['password'];
 
        $sql = mysqli_query($connect, "SELECT * FROM `users` WHERE `id` = '$_GET['password']'");
        $res = mysql_fetch_array($sql);
      
        $data = array(
                "status" => 1,
                "id" => $pass,
                "name" => $res['name']);
     
print_r($data); //это единственное что должно быть в браузере, если нет ошибок и иного вывода в браузер 

        //$data = json_encode($data);
         
        //return $data;
        //exit();
    }
     
    asd();
}



На заголовки то чего смотреть?

Последний раз редактировалось laimas, 01.02.2016 в 23:02.
Ответить с цитированием
  #26 (permalink)  
Старый 01.02.2016, 23:04
Интересующийся
Отправить личное сообщение для sergei1094 Посмотреть профиль Найти все сообщения от sergei1094
 
Регистрация: 01.02.2016
Сообщений: 21

Спасибо всем за настоятельную помощь, благодарю вас за крики, психи и т.д. Причина всему была то, что в сам БД запрос, я присылал не существующий ID, от туда и танцы с бубном Ну и соответственно сам вывод массива был не $res['name'] а $res['username']. Вывод: собственная не внимательность Ещё раз всем спасибо
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
собрать из json Html Валерий1996 AJAX и COMET 1 15.06.2015 08:41
Не могу распарсить JSON. gorenie jQuery 3 29.11.2013 22:26
Проблемы с jqGrid и JSON massacra_panda Библиотеки/Тулкиты/Фреймворки 1 08.10.2012 16:44
JSON или JSONP для запросов на другой сервер? Метод GET, для длинных сообщений? Kotakota jQuery 5 23.08.2011 23:12
jQuery. Обработка ошибок и JSON. mma_mma jQuery 3 19.07.2010 12:10