Ошибка в parsear json javascript, [удвоенный]

У этого вопроса уже есть ответ здесь:

я работаю с php, mysql и jquery. Где я думаю json с php, что он приносит единственную информацию, и буду искать это с jquery ajax. Если я делаю один console.log в мою изменчивую дату, принесенный с ajax, он показывает мне такие данные: [{ я "нумерую": "456235" }], но покажи пустой объект parsearlo. Не, который может вредить, это мой код js:

function getFolio(){
            var action3 = 'buscaFolio';

             $.ajax({
                 type: 'GET',
                 data: {action: action3,cod_sec: cod_sec,periodo: periodo,nro_oa: nuevo},
                 url: '../folios.php',
                 //dataType: 'Json',
                 success: function (data) {
                     var parsedData = JSON.parse(data);
                     console.log(parsedData);
                 },
                 error: function () {
                     console.log('Error al buscar folio');
                 }
             });

какая-то идея, состоящая в том, что он происходит? спасибо

код php Я Моделирую:

public function getFolio($cod_sec,$nro,$periodo){

        $sql = ' SELECT * FROM ventas WHERE codigoseccion='.$cod_sec.' AND nro='.$nro.' AND periodo='.$periodo.' ';
        $sqlQuery = new  SqlQuery($sql);

        $arr = $this->execute($sqlQuery);$ret = Array();

        foreach ($arr as $t) {
            $f = array(
                'folio'=>$t['folio']
            );
            array_push($ret,$f);
        }
        return(json_encode($ret));
    }

Драйвер:

$cod_sec = $_GET['cod_sec'];
$nro = $_GET['nro'];
$periodo = $_GET['periodo'];
$objOa3 = new Cargos_controller();
print_r($objOa3->getFolio($cod_sec,$nro,$periodo));
2
задан 11.10.2016, 18:59
5 ответов

Если он восполняет запас, что он дает тебе сервер, она эта [{"folio":"456235"}] это означает, что уже это объект json и они не должны делать это ему var parsedData = JSON.parse(data); так как уже это объект json. Эта функция JSON.parse(data); то, что он делает, состоит в том, что тебя конвертирует один string в json но если уже его один json он возвратит тебе пустой объект.

3
ответ дан 24.11.2019, 13:08
  • 1
    и поскольку я соглашаюсь на стоимость " folio" если, когда я помещаю console.log (он датирует [0] .folio); или console.log (data.folio); он говорит мне " undifined"? – daniel2017- 11.10.2016, 18:42
  • 2
    имей немного кода php – Fermin Perdomo 11.10.2016, 18:47

Попытайся с:

parsedData[0]

Ты приносишь договоренность со стоимостью, которую ты ждешь.

2
ответ дан 24.11.2019, 13:08

Не как дела манипулируя твоими данными с PHP, мы могли бы пробовать работать всегда с Объектами JSON. Я считаю, что аккуратнее давать ему свойства каждой договоренности.

с php

$array = array();
$array['folio'] = "1111";
return json_encode($array);

в JS, что идет между parse, является return, который дает PHP.

var json = JSON.parse('{"folio":"1111"}');
alert(json.folio);
2
ответ дан 24.11.2019, 13:08

Замени print_r($objOa3->getFolio($cod_sec,$nro,$periodo))

echo $objOa3->getFolio($cod_sec,$nro,$periodo);
0
ответ дан 24.11.2019, 13:08
  • 1
    он возвращает это мне: [] – daniel2017- 11.10.2016, 19:08
  • 2
    спасибо!!!, я функционирую с echo. Не, из-за которого, если я всегда использую print_r этой же самой формы, и если оно функционирует – daniel2017- 11.10.2016, 21:06
  • 3
    print_r в и # 241; ade другие символы как разрывы l и # 237; nea, что способствуют тому, чтобы json остался плохим сформированным, echo печатает, как он приходит. ЕСЛИ pod и # 233; s пометь ее как правильная @daniel. - – jonystorm 13.10.2016, 06:56

Скорее всего тебе осталось делать json_encode в php. Tenes, который должен убеждаться, что твой файл php закончился с echo json_encode(myArray);

Также я предлагаю добавлять после этого один exit; чтобы быть уверены, что он не будет не давать больше ничего тебе в этом выводе.

Если ты делаешь один print_r(myArray) ты посылаешь объект и сколько бы rta ajax это не понимает не является рекомендуемым ни под какой точкой зрения пробовать использовать это, таким образом.

Правильное состоит в том, чтобы делать echo json_encode(myArray); и потом JSON.parse поскольку ты это делаешь в твоем коде.

0
ответ дан 24.11.2019, 13:08
  • 1
    ты можешь распространяться немного м и # 225; s? с alg и # 250; n пример или что-то? схвати и # 237; он подает их во все то, кто читал бы вопрос. я обнимаю! – Alan 11.10.2016, 18:54
  • 2
    не hab и # 237; в помещенный м и # 225; s детали, так как мне не хватает informaci и # 243; n на c и # 243; я говорю php, но со мной случается, что оно может быть чем-то из этого – jonystorm 11.10.2016, 19:03
  • 3
    Est и # 225; хорошо, это была подсказка. +1 – Alan 11.10.2016, 19:37

Теги

Похожие вопросы