Javascript 将信息结果返回到多个输入字段
我试图创建一个简单的web元素,根据请求,使用php/ajax/jquery检索网页的页面标题/元描述 虽然我不知道如何在PHP中准备返回的信息,也不知道如何在成功时准备返回的信息,因此$title显示在输入字段中,$description显示在单独的输入字段中 此时,它只是返回到一个回音块 HTMLJavascript 将信息结果返回到多个输入字段,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我试图创建一个简单的web元素,根据请求,使用php/ajax/jquery检索网页的页面标题/元描述 虽然我不知道如何在PHP中准备返回的信息,也不知道如何在成功时准备返回的信息,因此$title显示在输入字段中,$description显示在单独的输入字段中 此时,它只是返回到一个回音块 HTML <a href="javascript:retrievepageinformation()" >Action request</a> <div>The URL
<a href="javascript:retrievepageinformation()" >Action request</a>
<div>The URL</div>
<input name="theaddress" type="text" id="theaddress" value="http://">
<div>The result</div>
<input name="title" id="title" value="" />
<input name="description" id="description" value="" />
PHP(request information.PHP)
if(isSet($\u POST['dataqueryurl'])){
函数文件\u get\u contents\u curl($url)
{
$ch=curl_init();
curl_setopt($ch,CURLOPT_头,0);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_URL,$URL);
curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1);
$data=curl\u exec($ch);
卷曲关闭($ch);
返回$data;
}
$dataqueryurl=$_POST['dataqueryurl'];
$html=file\u get\u contents\u curl($dataqueryurl);
//解析从这里开始:
$doc=新的DOMDocument();
@$doc->loadHTML($html);
$nodes=$doc->getElementsByTagName('title');
//获取并显示所需内容:
$title=$nodes->item(0)->nodeValue;
$metas=$doc->getElementsByTagName('meta');
对于($i=0;$i<$metas->length;$i++)
{
$meta=$metas->item($i);
如果($meta->getAttribute('name')=='description')
$description=$meta->getAttribute('content');
}
//要传回输入字段“标题”的数据
echo$标题;
//要传回输入字段“说明”的数据
回声$描述;
}
从请求信息返回信息。php您可以使用数组和json编码的概念
函数文件\u get\u contents\u curl($url)
{
$ch=curl_init()
}
$dataqueryurl=$_POST['dataqueryurl']
$html=file\u get\u contents\u curl($dataqueryurl)
//解析从这里开始:
$doc=新的DOMDocument()
@$doc->loadHTML($html)
$nodes=$doc->getElementsByTagName('title')
//获取并显示所需内容:
$title=$nodes->item(0)->nodeValue
$metas=$doc->getElementsByTagName('meta')
对于($i=0;$i<$metas->length;$i++)
{
}
$result=array('title'=>$title,'desc'=>$description)
echo json_编码($result)
}
为了在javascript中获取此信息,可以在ajax的成功回调中使用$.parseJSON()
函数retrievepageinformation(){
}
在php端
在ajax的成功中
FYI
谢谢您的帮助。我一直在尽力学习。JSON只是个骗局!我无法相信这个逻辑是多么简单。非常感谢你的建议。
function retrievepageinformation () {
$("#title").val('Retrieving..');
$("#description").val('Retrieving..');
var dataqueryurl = $("#theaddress").val();
$.ajax({
type: "POST",
url: "request-information.php",
data: "dataqueryurl="+ dataqueryurl,
success: function(dataresult){
$("#title").ajaxComplete(function(){
$(this).val(dataresult);
});
}
});
}
if(isSet($_POST['dataqueryurl'])) {
function file_get_contents_curl($url)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
$data = curl_exec($ch);
curl_close($ch);
return $data;
}
$dataqueryurl = $_POST['dataqueryurl'];
$html = file_get_contents_curl($dataqueryurl);
//parsing begins here:
$doc = new DOMDocument();
@$doc->loadHTML($html);
$nodes = $doc->getElementsByTagName('title');
// Get and display what you need:
$title = $nodes->item(0)->nodeValue;
$metas = $doc->getElementsByTagName('meta');
for ($i = 0; $i < $metas->length; $i++)
{
$meta = $metas->item($i);
if($meta->getAttribute('name') == 'description')
$description = $meta->getAttribute('content');
}
// Data to pass back to input field 'Title'
echo $title;
// Data to pass back to input field 'Description'
echo $description;
}
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
$data = curl_exec($ch);
curl_close($ch);
return $data;
$meta = $metas->item($i);
if($meta->getAttribute('name') == 'description'){
$description = $meta->getAttribute('content');
}
$("#title").val('Retrieving..');
$("#description").val('Retrieving..');
var dataqueryurl = $("#theaddress").val();
$.ajax({
type: "POST",
url: "request-information.php",
data: "dataqueryurl="+ dataqueryurl,
success: function(dataresult){
dataresult = $.parseJSON(dataresult);
$("#title").val(dataresult.title);
$("#description").val(dataresult.desc);
}
});
echo json_encode(array("title"=>"My title","description"=>"Test description"));
success: function(dataresult){
$("#title").val(dataresult.title);
$("#description").val(dataresult.description);
}