私はこれで何年も過ごしましたが、なぜそれが機能しないのか理解できません。私はajaxを使用してphpcurlに投稿を送信し、そこにURLを入れてからajaxに戻ります。アラートを送信すると、そのページのすべてのhtmlがアラートに表示されます。ここで、jqueryを使用して、body、h1、titleの各要素を検索し、コンテンツを出力したいと思いますが、これを行うと、bodyまたはtitleでは機能しません。何故ですか?
これが私のjqueryです
$.ajax({
type: "POST",
url: "senddom.php",
data: {"dataString" : dataString },
success: function(response) {
$('body').append("<p> contents of title:" + $(this).find('title').html() + "</p>");
$('body').append("<p> contents of all: " + $(this).find('body').html() + "</p>");
$(response).find('h1').each(function() {
$('body').append("<p> contents of H1: " + $(this).text() + "</p>");
});
これは私のphpです
<?php
$site= $_POST['dataString']; // get data
function curl_get($site){
$useragent = 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.0.3705; .NET CLR 1.1.4322; Media Center PC 4.0)';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$site);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,5);
curl_setopt($ch, CURLOPT_USERAGENT, $useragent);
$data=curl_exec($ch);
curl_close($ch);
return $data;
}
function getdom($site){
$html = curl_get($site);
$xml = new DOMDocument();
@$xml->loadHTML($html);
echo($html);
}
echo getdom($site);
?>