Javascript.RU

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

Передача данных клиенту
Здравствуйте.
Я пытаюсь написать приложение, которое из файла php, передает данные в json-формате, js(клиенту), с тем чтобы последний распределил эти данные по гриду.
Вот что я имею на данный момент:
<?php
	if (($_REQUEST) && ($_REQUEST['ajax_request']) == 'yes') {
		$mas = array('company' => "q1w2e3r4t5y6u7", 'price' => "12");
		$all = array('cast' => $mas);
		
		echo json_encode($all);

		exit();
	}
?>
<html>
	<head>
		<title>p003.com</title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title></title>
        <link rel="stylesheet" type="text/css" href="js/ext/resources/css/ext-all.css" />
        <link rel="stylesheet" type="text/css" href="js/ext/examples/grid/grid-examples.css" />

        <script type="text/javascript" src="js/ext/adapter/ext/ext-base.js"></script>
        <script type="text/javascript" src="js/ext/ext-all.js"></script>
        <script type="text/javascript" src="js/grid_example.js"></script>
	</head>
<body>
	<div id = 'grid-example'></div>
</body>
</html>

Ext.onReady(function(){
    // create the data store
	var myStore = new Ext.data.ArrayStore( {
		proxy: new Ext.data.HttpProxy({
			url     	: 'index.php',
			method  	: 'POST'
		} ),
		baseParams: {
			ajax_request		: "yes"
		},
		reader: new Ext.data.JsonReader({
			root            	: 'cast',
			totalProperty   	: 'total'
		}),
		fields: [
		{
			name		: 'company',
			type		: 'string'
		}, {
			name		: 'price',
			type		: 'string'
		}
		]
	});
	myStore.load();
	
    // create the Grid
    var grid = new Ext.grid.GridPanel( {
        store	: myStore,
        columns: [
			{
				id		: 'company',
				header	: 'Company', 
				width	: 160,
				dataIndex	: 'company'
			}, {
				header	: 'Price', 
				width	: 75,  
				dataIndex	: 'price'
			}
        ],
        autoExpandColumn	: 'company',
        height			: 350,
        width			: 600,
        title			: 'Array Grid',
    });
    

    grid.render('grid-example');
});


Я лично, думаю, что проблема в коде php, хотя как знать. Надеюсь Вы подскажите мне...

ЗЫ. Просьба сильно не пинать, начинающий в этом вопросе...

Последний раз редактировалось DenQ, 28.08.2010 в 22:27.
Ответить с цитированием
  #2 (permalink)  
Старый 30.08.2010, 15:57
Ламер
Отправить личное сообщение для DooMer Посмотреть профиль Найти все сообщения от DooMer
 
Регистрация: 19.02.2010
Сообщений: 295

$mas = array(array('company' => "q1w2e3r4t5y6u7", 'price' => "12"));

а так ?
Ответить с цитированием
  #3 (permalink)  
Старый 30.08.2010, 16:27
Аватар для Ex_Soft
Профессор
Отправить личное сообщение для Ex_Soft Посмотреть профиль Найти все сообщения от Ex_Soft
 
Регистрация: 19.12.2009
Сообщений: 164

Формат д.б. таким:
Код:
{
  success: true,
  total: 1,
  cast: [{company: "q1w2e3r4t5y6u7", price: "12"}]
}
См. Ext.data.JsonStore
__________________
"Helo, word!" - 17 errors 56 warnings
Ответить с цитированием
  #4 (permalink)  
Старый 30.08.2010, 23:18
Аспирант
Отправить личное сообщение для DenQ Посмотреть профиль Найти все сообщения от DenQ
 
Регистрация: 28.08.2010
Сообщений: 57

Случайно так зашел, думаю, дай гляну, может ответил кто...
В общем, сделал следующим вечером, следующим образом:
<?php
    if (($_REQUEST) && ($_REQUEST['ajax_request']) == 'yes') {
        $mas = array('company'=>'cas', 'price'=>'ds');
            $all = array($mas, $mas);
            echo json_encode($all);
            exit();
    }
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title></title>
        <link rel="stylesheet" type="text/css" href="ext/resources/css/ext-all.css" />
        <link rel="stylesheet" type="text/css" href="ext/examples/grid/grid-examples.css" />

        <script type="text/javascript" src="js/ext/adapter/ext/ext-base.js"></script>
        <script type="text/javascript" src="js/ext/ext-all.js"></script>
        <script type="text/javascript" src="js/grid-example.js"></script>
    </head>
    <body>
        <div id="b1"></div>
        <div id="grid-example"></div>

    </body>
</html>
Ext.onReady(function(){
    // create the data store
	var myStore = new Ext.data.ArrayStore( {
		proxy: new Ext.data.HttpProxy({
			url     	: 'index.php',
			method  	: 'POST'
		} ),
		baseParams: {
			ajax_request		: "yes"
		},
		reader: new Ext.data.JsonReader({
//			id				: 'id',
			root            	: 'cast',
			totalProperty   	: 'total'
		}),
		fields: [
		{
			name		: 'company',
			mapping         : 'company',
			type		: 'string'
		}, {
			name		: 'price',
			mapping         : 'price',
			type		: 'string'
		}
		],
		listeners :{
			load : function(s, rec, obj){
				alert(s.getCount());
			}
		}

	});
	myStore.load();

    // create the Grid
    var grid = new Ext.grid.GridPanel( {
        store	: myStore,
        columns: [
			{
				id		: 'company',
				header	: 'Company',
				width	: 160,
				sortable	: true,
				dataIndex	: 'company'
			}, {
				header	: 'Price',
				sortable	: true,
				width	: 75,
				dataIndex	: 'price'
			}
        ],
        autoExpandColumn	: 'company',
        height			: 350,
        width			: 600,
        title			: 'Array Grid',
    });


    grid.render('grid-example');
});

Подскажите, если что неправильно, пожалуйста...
Ответить с цитированием
  #5 (permalink)  
Старый 31.08.2010, 10:19
Аватар для Ex_Soft
Профессор
Отправить личное сообщение для Ex_Soft Посмотреть профиль Найти все сообщения от Ex_Soft
 
Регистрация: 19.12.2009
Сообщений: 164

Скажите, Вы топик по диагонали читаете?
__________________
"Helo, word!" - 17 errors 56 warnings
Ответить с цитированием
  #6 (permalink)  
Старый 31.08.2010, 10:45
Ламер
Отправить личное сообщение для DooMer Посмотреть профиль Найти все сообщения от DooMer
 
Регистрация: 19.02.2010
Сообщений: 295

DenQ,
вам в предыдущих 2х постах указали на ошибку

echo json_encode(
array('cast'=>$all,'total'=>2,"success"=>true)
);

Последний раз редактировалось DooMer, 31.08.2010 в 11:03.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Передача данных с формы на JS mrDeko Общие вопросы Javascript 8 21.08.2010 12:19
Передача данных из одного окна в другое flaming23 Events/DOM/Window 0 28.07.2010 04:30
Передача данных между страницами Feather Events/DOM/Window 1 02.05.2009 16:43
Передача результата обработки клиенту sim Общие вопросы Javascript 7 10.02.2009 06:49
передача данных между формами Yurii Общие вопросы Javascript 2 30.04.2008 20:52