Folgende Problematik: Möchte man bestimmte Informationen einer fremden Webseite mit JavaScript auslesen, dann ist man gezwungen Workarrounds anzuwenden. Eine Möglichkeit ist, ein kleines PHP-Skript als Proxy einzusetzen, um an die gewünschten Daten zu kommen.
Beispielhafter Aufbau des Proxy-Skripts:
//proxy.php
$aOptions = array('http' =>
array('method' => 'POST',
'header' => 'Content-type: application/x-www-form-urlencoded',
'content' => http_build_query($_POST)));
$rContext = stream_context_create($aOptions);
echo file_get_contents('http://sklueh.de', false, $rContext);
$aOptions = array('http' =>
array('method' => 'POST',
'header' => 'Content-type: application/x-www-form-urlencoded',
'content' => http_build_query($_POST)));
$rContext = stream_context_create($aOptions);
echo file_get_contents('http://sklueh.de', false, $rContext);
HTML-Code für die Formular-Elemente:
<input id="search_string" type="text" value="php" />
<button onclick="ajaxRequest();">Suchen auf sklueh.de</button>
<div id="content"></div>
<button onclick="ajaxRequest();">Suchen auf sklueh.de</button>
<div id="content"></div>
JavaScript-Code zum Versenden der POST-Daten an das Proxy-Skript:
function ajaxRequest()
{
$.ajax({
type: "POST",
url: "proxy.php",
//POST-Daten, die weitergeleitet werden sollen
data: { s: $('#search_string').val() }
}).done(function( result )
{
//Extrahieren einzelner Elemente
$('#content').append($(result).find('.content>a').html());
});
}
{
$.ajax({
type: "POST",
url: "proxy.php",
//POST-Daten, die weitergeleitet werden sollen
data: { s: $('#search_string').val() }
}).done(function( result )
{
//Extrahieren einzelner Elemente
$('#content').append($(result).find('.content>a').html());
});
}
Und so sieht es aus:
Auf die Idee muss mann erst mal kommen 🙂 habe jetzt viel probiert, JASONP und und und. Aber das ist für mich die beste Lösung, da ich alles wie gewohnt coden kann. SUPER!!!