Вывод результата работы php с другого сайта, js

PP
На сайте с 10.02.2009
Offline
55
2327

Помогите реализовать такую штуку, или подскажите где почитать: есть файл php(выбирает определенную инфу из бд) лежит на сайте А, нужно при открытии старницы сайта В, показать результат работы этого файла через javascript.

Larden
На сайте с 09.03.2007
Offline
32
#1

На сайте A в скрипте (предположим code.php) выведите информацию через

echo "document.writeln('".$info."');";

На сайте B вставьте результат работы через JS:

document.writeln('<sc'+'ript type="text/javascript" src="http://site.php/code.php"></sc'+'ript>');

Все просто. :)

J
На сайте с 02.02.2009
Offline
53
#2
Larden:
На сайте A в скрипте (предположим code.php) выведите информацию через
echo "document.writeln('".$info."');";


На сайте B вставьте результат работы через JS:
document.writeln('<sc'+'ript type="text/javascript" src="http://site.php/code.php"></sc'+'ript>');


Все просто. :)

а зачем делать sc+ript?

PP
На сайте с 10.02.2009
Offline
55
#3
Larden:
На сайте A в скрипте (предположим code.php) выведите информацию через
echo "document.writeln('".$info."');";


На сайте B вставьте результат работы через JS:
document.writeln('<sc'+'ript type="text/javascript" src="http://site.php/code.php"></sc'+'ript>');


Все просто. :)

Вроде все просто... но не заработало :)

[Удален]
#4

конечно, чтобы это заработало code.php должен выдавать js-код.

Логичней всего использовать аякс в данной ситуации, но некоторые расово верные браузеры из политики безопасности запрещают асинхронный запрос к удаленному серверу. Но попробовать стоит.

на prototype это будет так


new Ajax.Request('http://site1.ru/code.php',
{
parameters:массив POST-параметров если нужен,
onSuccess:function(tr)
{
$('targetDiv').innerHTML=tr.responseText;
}
}
);

targetDiv это id целевого тега куда вывести надо - не обязательно именно div.

Кроме того прототип умеет автоматически парсить xml и json - что несомненно является более кошерным способом передачи выгрузки из бд чем чистый хтмл

J
На сайте с 02.02.2009
Offline
53
#5
neolord:
конечно, чтобы это заработало code.php должен выдавать js-код.

Логичней всего использовать аякс в данной ситуации, но некоторые расово верные браузеры из политики безопасности запрещают асинхронный запрос к удаленному серверу. Но попробовать стоит.

на prototype это будет так


new Ajax.Request('http://site1.ru/code.php',
{
parameters:массив POST-параметров если нужен,
onSuccess:function(tr)
{
$('targetDiv').innerHTML=tr.responseText;
}
}
);

targetDiv это id целевого тега куда вывести надо - не обязательно именно div.

Кроме того прототип умеет автоматически парсить xml и json - что несомненно является более кошерным способом передачи выгрузки из бд чем чистый хтмл

[УДАЛЕНО]

ай, невнимательно читал

T.R.O.N
На сайте с 18.05.2004
Offline
314
#6
pasha.plahov:
code.php

Тип контента нужно уаказть text/plain или text/javascript. С аяксом больше гемора в простых случаях, как этот.

От воздержания пока никто не умер. Хотя никто и не родился! Prototype.js был написан теми, кто не знает JavaScript, для тех, кто не знает JavaScript (Richard Cornford)
DA
На сайте с 04.02.2005
Offline
165
#7

еще бы отметить что аякс не всегда из соображений безопасности работает с другим доменом

тыщ-пыщ
S
На сайте с 13.08.2008
Offline
35
#8

1. page.php - Располагается на сайте A с нужной страницей

2. on_A.php - Располагается на сайе B. Средствами PHP читаем http://siteA.ru/page.php file_get_contents-ом либо сокетами с сайта A и возвращаем HTML полученной страницы

3. Далле аякс на необходимой странице сайта B

new Ajax.Request('http://siteB.ru/on_A.php?page=<pageid>'),

{
parameters:массив POST-параметров если нужен,
onSuccess:function(tr)
{
$('targetDiv').innerHTML=tr.responseText;
}
}
);

не писал и не проверял, т.с. гипотетически (на случай, если откажется работать с другим доменом)

[Удален]
#9
SEOProgrammer:

не писал и не проверял, т.с. гипотетически (на случай, если откажется работать с другим доменом)

сообщение из серии: "Ты видел петуха? Да, но с тех пор как последний раз видел - не видел"

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий