LINUX.ORG.RU

Ajax,json, php - включаем не работает.

 


0

1

Здравствуйте! Уперся лбом в стену и немогу найти ошибку - суть Отправляю ajax запрос -

function Clc(event){
  	$.ajax({
		  url:"sc/list.php",
		  type:"POST",
		  dataType: 'json',
		  success: function (result) { 
                     alert('<<<<\n' + result + '\n>>>>');
                    			
		  }
	});
 }
В php если i<0 т.е. отправляю один элемент -
<?
......................
//упрощенно
$f = scandir($dir);
for ($i=0; $i<1;$i++) {
$fl='fl'.$i;
$jsonString =$jsonString.$fl.'":"'.mb_substr($f[$i] ,0,strpos($f[$i], '.'));   
}
$jsonString ='{"'.$jsonString.'"}';
echo json_encode( $jsonString );
?>
Все карсиво -
<<<<
{"fl0":"1470241096244"}
>>>>
Но, если в php хотябы i<2 (два элемента),
<?
......................
//упрощенно
$f = scandir($dir);
for ($i=0; $i<2;$i++) {
$fl='fl'.$i;
$jsonString =$jsonString.$fl.'":"'.mb_substr($f[$i] ,0,strpos($f[$i], '.')).'","';    
}
$jsonString ='{"'.$jsonString.'"}';
echo json_encode( $jsonString );
?>
то хана -
<<<<
{"}
>>>>
Если отправлять запрос через форму ($_POST) , то
echo json_encode( $jsonString ); 
выводит красиво -
"{\"fl0\":\"1470241096243\",\"fl1\":\"1470241096244\"}"

Подскажите, плз, где туплю?


echo json_encode( $jsonString );

Это как? :eek:

json_encode принимает массив и возвращает строку с его же представлением в JSON.

KRoN73 ★★★★★ ()
$f = scandir($dir);
$json = array();
for ($i=0; $i<2;$i++) {
  $fl='fl'.$i;
  $json[$fl] = mb_substr($f[$i], 0, strpos($f[$i], '.'));
}
$jsonString = json_encode( $json );
echo $jsonString;
avsej ()
Ответ на: комментарий от avsej

json

Все хорошо, на выходе echo $jsonString -

{"fl0":"1470241096244","fl1":"1470241096245"}
но ajax отвечает -
<<<<

>>>>

fbb ()
Ответ на: json от fbb

json

Решение найдено - (у меня в php было условие с $_POST[«z»] и $_POST[«po»])я забыл передать в ajax-запросе post-параметры «z» и «po» т.е. должно быть так -

$.ajax({
         url:"sc/list.php",
         type:"POST",
         dataType: 'json',
          data: { z: "01.08.2016", po: "31.08.2016"},
         success: function (result) {
                    alert('<<<<\n' + result + '\n>>>>');
                          
         }
   });
fbb ()

А потом такие вот говнокодеры рассказывают мне как отступы в коде делать.

Goury ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.