передача нескольких переменных в аякс

Статус
В этой теме нельзя размещать новые ответы.

sultan347

Участник
Регистрация
25 Апр 2009
Сообщения
230
Реакции
7
a.php
PHP:
if ($l==0)
{
$a1=10;$a2=11;$a3=12;
echo ?????;
return;
}
index.html
Код:
<script type="text/javascript">
	function ch(){
		$.ajax({
		   type: "POST",
		   url: "/a.php",
		   data: "",
		   success: function(data1,data2,data3){}
Пробовал перечислять через запятую $a=10;$a=11;$a=12;echo $a1,$a2,$a3;
Не получается
 
поправлю:

index.html
должно быть так:
Код:
<script type="text/javascript">
	function ch(){
		$.ajax({
		   type: "POST",
		   url: "/a.php",
		   data: "[B]a1=10,a2=11,a3=12[/B]",
		   success: function(data1,data2,data3){}
Пробовал перечислять через запятую $a=10;$a=11;$a=12;echo $a1,$a2,$a3;
Не получается

для вывода в хтмл делаем так:
PHP:
if ($l==0) 
{ 
$a1=10;$a2=11;$a3=12;
echo "a1=$a1,a2=$a2,a3=$a3";
return; 
}
 
<script type="text/javascript">
function ch(){
$.ajax({
type: "POST",
url: "/a.php",
data: "a1=10,a2=11,a3=12", //здесь же не важно что передаем, необязательно же должен совпадать кол-во исходящих и входящих переменных??
success: function(data1,data2,data3){}







И еще так можно:
echo "a1='err',a2='err2',a3='error'";
 
<script type="text/javascript">
function ch(){
$.ajax({
type: "POST",
url: "/a.php",
data: "a1=10,a2=11,a3=12", //здесь же не важно что передаем, необязательно же должен совпадать кол-во исходящих и входящих переменных??
success: function(data1,data2,data3){}
И еще так можно:
echo "a1='err',a2='err2',a3='error'";

data - это то что передается http-запросом в post-данных, а success вроде как функция которая вызывается при успешном запросе и ее переменные вроде как не имеют отношения к post-строке.

PHP:
echo "a1='err',a2='err2',a3='error'";
так можно, если в post-запросе необходимо передать строки, включающие в себя апострофы слева и справа
 
не получается. Одну переменную, пожалуйста, работает. Более одного нет.
Не работает:
a.php
PHP:
if ($valid_email === false) {echo "'err','Фигня'"; return;}
index.html
Код:
function ch(){
	$.ajax({
	type: "POST",
	url: "/a.php",
	data: "val=1@m.ru",
	success: function(msg,msg1){
		if (msg=="err")	{alert(msg1);}
Работает:
a.php
PHP:
if ($valid_email === false) {echo "err"; return;}
index.html
Код:
function ch(){
	$.ajax({
	type: "POST",
	url: "/a.php",
	data: "val=1@m.ru",
	success: function(msg){
		if (msg=="err")	{alert("фигня");}
 
данные обрабатываются яваскриптом а значит и синтаксис должен быть яваскрипта, если нет тогда придётся парсить полученные данные, как например выше переменные разделены запятой но это простой текст и его надо будет парсить яваскрипту, разделять по запятым, вытаскивать переменные и т.д.

Другой вариант передавать данные в яваскрипте и пропустить через eval()
a.php:
PHP:
echo "msg1=1;msg2=2;";
index.html:
HTML:
...
    success: function(msg){
        eval(msg);
        alert(msg1+':'+msg2);
    }
...
ещё вариант использовать формат json удобно передавать объекты, массивы, тогда
a.php:
PHP:
$array = array ('msg1'=>1,'msg2'=>2);
echo "data=".json_encode($array);
index.html:
HTML:
...
    success: function(msg){
        eval(msg);
        alert(data.msg1+':'+data.msg2);
    }
...
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху