Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Как распарсить функцией parseJSON() (https://javascript.ru/forum/dom-window/73550-kak-rasparsit-funkciejj-parsejson.html)

SolomonRei 24.04.2018 19:44

Как распарсить функцией 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.

рони 24.04.2018 19:56

Цитата:

Сообщение от SolomonRei
Как распарсить функцией parseJSON()

обычно в этом нет необходимости, строка 26 лишняя.

SolomonRei 24.04.2018 19:57

Цитата:

Сообщение от рони (Сообщение 483963)
обычно в этом нет необходимости, строка 26 лишняя.

тогда как мне получить данные из php?

SolomonRei 24.04.2018 20:01

я имею ввиду как мне теперь вывести это [{"image":"images\/Desert.jpg"},{"image":"images\/5.jpg"}],тут двумерный массив,можно вывести как-то так alert(result[0]['image']) ?

рони 24.04.2018 20:04

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

Массив: перебирающие методы

рони 24.04.2018 20:07

SolomonRei,
может dataType: "json",

SolomonRei 24.04.2018 20:21

не,без var result = $.parseJSON(result); выводится [object Object],[object Object],это не то

рони 24.04.2018 20:25

Цитата:

Сообщение от рони
dataType: "json",

поставьте
и
function success(result) { alert(result[0]['image']) }

SolomonRei 24.04.2018 20:30

да,спасибо,все работает


Часовой пояс GMT +3, время: 12:01.