CTEPBA000
|
enthusiast
|
|
|
|
Рег.: 02.02.2009
|
Сообщений: 365
|
|
Рейтинг: -79
|
|
[jquery] ajax и xml_parser - проблема с внешним url
12.12.2009 09:57
|
|
|
Задача: Нужно распарсить xml-документ http://www.roboxchange.com/xml/currlist.asp То, что написано работает только, если в качестве урла подсунуть currlist.xml (предварительно скачивать приходится), а если указывать прямой (внешний) урл http://www.roboxchange.com/xml/currlist.asp, то ничего не работает  Вопрос: как побороть? Нужно чтобы принимала на вход внешние урлы
файл rk_xml_int.js code:
func/tion getXML(url){
$.ajax({
url: url,
type: "GET",
dataType: "xml",
encoding:"utf-8",
beforeSend: xmlStart,
success: xmlSuccess,
error: xmlError,
complete: xmlComplete
});
}
function xmlStart(xhrInstance) {
$("#xmlConsole").addClass("ajaxLoaderCSS");
//return true;
}
function xmlError(xhrInstance, message, optional) {
$("#xmlConsole").html(message);
}
function xmlComplete(xhrInstance, status){
$("#xmlConsole").removeClass( "ajaxLoaderCSS" );
//return true;
}
function xmlSuccess(data, status){
parseXML(data);
}
function parseXML(xml){
alert('1');
var content = '';
$( xml ).find('item').each(function(){
var curr = $(this).find('curr').text();
var curr_name = $(this).find('curr_name').text();
content += 'curr - ' + curr + '<br />';
content += 'curr_name - ' + curr_name + '<br /><hr />';
});
$("#xmlConsole").html(content);
}
Соответственно тестовая страничка code:
<html>
<head>
<title>test robokassa int</title>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="rk_xml_int.js"></script>
<script type="text/javascript">
$(function(){
getXML('http://www.roboxchange.com/xml/currlist.asp');
});
</script>
</head>
<body>
<div id="xmlConsole"></div>
</body>
</html>
|
|
__No__
|
|
|
|
|
Рег.: 17.01.2005
|
Сообщений: 21062
|
Из: Внутренняя Монголия
|
Рейтинг: 6310
|
|
Re: [jquery] ajax и xml_parser - проблема с внешним url
[re: CTEPBA000]
12.12.2009 11:04
|
|
|
А в jquery ajax умеет лазить на посторонние сайты?
|
Dixi. |
|
fedechka
|
|
|
|
|
Рег.: 10.09.2004
|
Сообщений: 58783
|
Из: Отрадное
|
Рейтинг: 10953
|
|
Re: [jquery] ajax и xml_parser - проблема с внешним url
[re: CTEPBA000]
12.12.2009 11:08
|
|
|
XMLHttpRequest в принципе не умеет работать с несвоим доменом. Сделано специально против XSS
|
без подписи |
|
__No__
|
|
|
|
|
Рег.: 17.01.2005
|
Сообщений: 21062
|
Из: Внутренняя Монголия
|
Рейтинг: 6310
|
|
Re: [jquery] ajax и xml_parser - проблема с внешним url
[re: fedechka]
12.12.2009 11:12
|
|
|
|
SpellBuilder
|
Quantum Optic
|
|
|
|
Рег.: 07.12.2004
|
Сообщений: 607
|
Из: CZ
|
Рейтинг: 165
|
|
Re: [jquery] ajax и xml_parser - проблема с внешним url
[re: __No__]
12.12.2009 20:54
|
|
|
Quote:
проще настроить прокси
Именно так. Например на первой страничке гуглится вот это web page. Простенькая php-proxy. Если тебе нужно брать только один файл, то можно ее подкрутить, чтобы запрашивать именно его. Также потратив еще 2-5 минут можно прикрутить простенькое кеширование, чтобы не постоянно гонять запросы на внешний сервер, а скажем не чаще 1 раза в час, или какая там тебе требуется периодичность обновления информации.
|
|
maloi
|
Зануда
|
|
|
|
Рег.: 09.05.2006
|
Сообщений: 6506
|
Из: $(pwd)
|
Рейтинг: 2880
|
|
Re: [jquery] ajax и xml_parser - проблема с внешним url
[re: SpellBuilder]
12.12.2009 21:14
|
|
|
нафега только там php если апач сам умеет проксировать запросы?
|
Помни: убив анимешника, ты повышаешь скорость сети на 5% |
|
CTEPBA000
|
enthusiast
|
|
|
|
Рег.: 02.02.2009
|
Сообщений: 365
|
|
Рейтинг: -79
|
|
Re: [jquery] ajax и xml_parser - проблема с внешним url
[re: __No__]
12.12.2009 21:24
|
|
|
Quote:
проще настроить прокси.
именно так и сделал немного повозился с curl и google вот, что получилось (вдруг кому пригодится)
code:
<?php
$url = 'http://www.roboxchange.com/xml/rate.asp';
$request = '<robox.rate.req>';
//$request .= '<in_curr>WMZ</in_curr>';
$request .= '<out_curr>WMZ</out_curr>';
$request .= '<merchant_login>demo</merchant_login>';
$request .= '<out_cnt>900000</out_cnt>';
$request .= '</robox.rate.req>';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 4);
curl_setopt($ch, CURLOPT_POSTFIELDS, $request);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Connection: close'));
$result = curl_exec($ch);
header('Content-type: text/xml');
echo $result;
curl_close($ch);
?>
|
|
bashtanov
|
спец по говядине
|
|
|
|
Рег.: 11.05.2007
|
Сообщений: 9569
|
Из: например
|
Рейтинг: 7070
|
|
Re: [jquery] ajax и xml_parser - проблема с внешним url
[re: fedechka]
12.12.2009 21:36
|
|
|
В ответ на:
XMLHttpRequest в принципе не умеет работать с несвоим доменом.
cross-site ajax можно разрешить для выбранных сайтов в IE и FF
|
|