Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 24.04.2018, 19:44
Аспирант
Отправить личное сообщение для SolomonRei Посмотреть профиль Найти все сообщения от SolomonRei
 
Регистрация: 05.04.2018
Сообщений: 77

Как распарсить функцией parseJSON()
Добрый день!Имею файл с ajax запросом
<script type="text/javascript">
        $(document).ready(function() {
            $(".img_1").bind("click", function(event) {
            	var src = $(this).attr('src');
                ajax_1({'target_path': src});
            });
            $(".img_2").bind("click", function(event) {
            	var src = $(this).attr('src');
                ajax_1({'target_path': src});
            });
        });
        function ajax_1(data) {
            $.ajax({
                url: '/apps.php',
                type: "POST",
                data: data,
                dataType: "text",
                error: error,
                success: success
            });
        }
        function error() {
         alert('Ошибка при загрузке данных!');
        }
        function success(result) {
           var result = $.parseJSON(result);
            alert(result);
        //     var str = '';
        //     for (var i in result)
        //         str += '<b>' + i + '</b>: ' + result[i] + '<br />';
        // //     $('#result').empty();
        //     $('#result').append(str);
        }
    </script>

<img src = "<?=$result_set[0]['image']?>" width = "150px" height = "150px" class = "img_1" style ="cursor: pointer;">
	<img src = "<?=$result_set[1]['image']?>" width = "150px" height = "150px" class = "img_2" style ="cursor: pointer;">

файл,который обрабатывает
<?php
if (isset($_POST['target_path'])) {
	$_POST['target_path'] = trim($_POST['target_path']);
	$_POST['target_path'] = htmlspecialchars($_POST['target_path']);
	$s = $_POST['target_path'];
	require_once 'lib/db_class.php';
	try {
	$db = new DB("localhost", "root", "", "test");
	$result_set = $db->select("users", "points,votes", true, "image", $s, false, "rand()", false, false, 2);
	$result_set[0]['points'] += 10;
	$result_set[0]['votes'] += 1;

		$db->update("users", array("points" => $result_set[0]['points'], "votes" => $result_set[0]['votes']), true, "image", $s);
		$result_random = $db->select("users", "image", false, "age","12", true, "rand()", false, true, 2);
			
		echo json_encode($result_random);
		}catch(Exception $e) {
			echo 'Ошибка!';
		}
	}
?>

возвращает php двумерный массив array([0]=>array(
[image] => images/sadas.jpg
)
[1] => array([image] => images/sdfsdf.jpg)
когда из php перевожу в js
echo json_encode($result_random);

,то получается вот это [object Object],[object Object]
как мне это исправить и получить поле image.
Ответить с цитированием
  #2 (permalink)  
Старый 24.04.2018, 19:56
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,108

Сообщение от SolomonRei
Как распарсить функцией parseJSON()
обычно в этом нет необходимости, строка 26 лишняя.
Ответить с цитированием
  #3 (permalink)  
Старый 24.04.2018, 19:57
Аспирант
Отправить личное сообщение для SolomonRei Посмотреть профиль Найти все сообщения от SolomonRei
 
Регистрация: 05.04.2018
Сообщений: 77

Сообщение от рони Посмотреть сообщение
обычно в этом нет необходимости, строка 26 лишняя.
тогда как мне получить данные из php?
Ответить с цитированием
  #4 (permalink)  
Старый 24.04.2018, 20:01
Аспирант
Отправить личное сообщение для SolomonRei Посмотреть профиль Найти все сообщения от SolomonRei
 
Регистрация: 05.04.2018
Сообщений: 77

я имею ввиду как мне теперь вывести это [{"image":"images\/Desert.jpg"},{"image":"images\/5.jpg"}],тут двумерный массив,можно вывести как-то так alert(result[0]['image']) ?
Ответить с цитированием
  #5 (permalink)  
Старый 24.04.2018, 20:04
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,108

SolomonRei,
ждите специалистов по php, и на всякий случай строка 29

Массив: перебирающие методы
Ответить с цитированием
  #6 (permalink)  
Старый 24.04.2018, 20:07
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,108

SolomonRei,
может dataType: "json",
Ответить с цитированием
  #7 (permalink)  
Старый 24.04.2018, 20:21
Аспирант
Отправить личное сообщение для SolomonRei Посмотреть профиль Найти все сообщения от SolomonRei
 
Регистрация: 05.04.2018
Сообщений: 77

не,без var result = $.parseJSON(result); выводится [object Object],[object Object],это не то
Ответить с цитированием
  #8 (permalink)  
Старый 24.04.2018, 20:25
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,108

Сообщение от рони
dataType: "json",
поставьте
и
function success(result) { alert(result[0]['image']) }
Ответить с цитированием
  #9 (permalink)  
Старый 24.04.2018, 20:30
Аспирант
Отправить личное сообщение для SolomonRei Посмотреть профиль Найти все сообщения от SolomonRei
 
Регистрация: 05.04.2018
Сообщений: 77

да,спасибо,все работает
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как правильно реализовать такой функционал? Julian Общие вопросы Javascript 3 16.01.2015 12:34
Как сделать такую страницу mortido Элементы интерфейса 11 02.10.2014 07:20
Мотоциклисты есть? l-liava-l Оффтопик 13 04.07.2014 13:35
как распарсить json imediasun1 Элементы интерфейса 2 08.04.2014 16:29
Как вы относитесь к наркоманам? Maxmaxmaximus7 Оффтопик 7 05.02.2014 13:29