Hallo,
ich stecke im Moment an einem kleinen Problem fest.
Ich mache mit folgendem Code ein ajax Requerst
Code:
j = jQuery.noConflict();
j(".suchen").on("click", function (e)
{
e.preventDefault();
j.ajax(
{
type: "POST"
,url: "_resources/inc/ajax.getentry.php"
,cache: false
,data:
{
gid: j("#gid").val(),
email: j("#email").val()
}
,dataType: "html"
,success: function(data)
{
var item = j(data).find("td.pd_td1");
item.each(function (items)
{
#DO STUFF
})
}
})
});
Das aufgerufene PHP-Skript holt sich über
file_get_contents eine Datei als HTML Datei und reicht die eigentlich nur weiter.
Wen interessiert hier der Code:
PHP-Code:
<?php
if($_SERVER['REQUEST_METHOD'] === 'POST')
{
if(array_key_exists('gid',$_POST))
{
$gid = $_POST['gid'];
$options = array('http'=>array('method'=>"GET",'header'=>"Accept-language: en\r\nCookie: foo=bar\r\nUser-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; InfoPath.3; MS-RTC LM 8)"));
$context = stream_context_create($options);
$return = file_get_contents('##URL##?gid='.$gid,false,$context);
echo $return;
}
elseif(array_key_exists('email',$_POST))
{
$email = $_POST['email'];
$options = array('http'=>array('method'=>"GET",'header'=>"Accept-language: de\r\nCookie: foo=bar\r\nUser-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; InfoPath.3; MS-RTC LM 8)"));
$context = stream_context_create($options);
$return = file_get_contents('##URL###?mail='.$email,false,$context);
echo $return;
}
else
{
echo "Parameter fehlt.";
}
}
else
{
echo "Fehlerhafter Aufruf.";
}
?>
Soweit funktioniert auch alles.
Nun will ich aus der Seite als DOM Objekt mit jQuery behandeln und alle
td-Tags mit der Klasse
pd_td1 raussuchen. Dafür nutze ich var item = j(data).find("td.pd_td1");
Hierbei sagt aber
Code:
Uncaught Error: Syntax error, unrecognized expression: <!DOCTYPE html> ....
Es folgt die gesamte abgerufene HTML Source und als "Unruhestifter" gibt er mit die Zeile
var item = j(data).find("td.pd_td1"); an.
Ich bin mir sicher ich mach hier nur einen Denkfehler, würde mich aber sehr freuen, wenn mir jemand weiterhelfen könne.