Используйте ваш сервер PHP в качестве прокси: вы делаете запрос AJAX на свою собственную страницу PHP, которая использует curl для получения XML из внешнего источника и возвращает его вам, чтобы вы могли его проанализировать.
var xml;
if (typeof data == "string") {
xml = new ActiveXObject("Microsoft.XMLDOM");
xml.async = false;
xml.loadXML(data);
} else {
xml = data;
}
Эта часть не обязательна, вы можете использовать селекторы jQuery для анализа XML.Судя по всему, ваш запрос не дает никаких результатов.Что производит alert(xml)
?AFAIK, вы не можете сделать междоменную POST, вы можете сделать междоменную GET
с некоторыми JSONP
взломами.никогда не закрывался.
Вот пример, вам придется извинить мой сломанный PHP, так как я давно его не использовал.
// post the contents of the form to our PHP proxy
$.post("myproxy.php", $("#myform").serialize, function(data) {
// do something with returned xml here.
},"xml");
Пример прокси (myproxy.php):
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://www.remotedomain.com/api.php");
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, array(
'client*' => 'something',
));
$result = curl_exec($ch);
curl_close($ch);
echo $result;
?>