将变量从jquery传递给php

时间:2013-01-10 21:19:28

标签: php jquery phpquery

我正在尝试将变量从jquery传递给php

我的jquery代码:

<script>
$(window).load(function(){
$.get("as.php",url="http://www.wired.co.uk/news/archive/2013-01/10/chinese-desert-mystery", function(data,status){
$('#lax').html(data);
});
});
</script>
<div id="lax" >
</div>

我的“as.php”文件如下:

<?php
include('phpQuery.php');
$file = mysqli_real_escape_string($dbc, strip_tags(trim($_GET['url'])));  
phpQuery::newDocumentFileHTML($file);
$titleElement = pq('title'); 
$title = $titleElement->html();
echo '<a href="" >' . htmlentities( $title) . '</a><br/>';

foreach(pq('meta') as $li)

  if ((pq($li)->attr('name')=='description')||(pq($li)->attr('name')=='Description')){
   echo '<p>'.pq($li)->attr('content').'</p>';
}
?>

我试着将'url'变量从jquery代码传递给我的“as.php”文件,但是无法这样做。哪里一定是我出错了?

3 个答案:

答案 0 :(得分:4)

您需要创建一个对象

url="http://www.wired.co.uk/news/archive/2013-01/10/chinese-desert-mystery"

应该是:

{url :"http://www.wired.co.uk/news/archive/2013-01/10/chinese-desert-mystery"}

jQuery docs

答案 1 :(得分:1)

我没有看到您打开数据库连接,因此您发布的代码$dbc将为NULL

这会导致mysqli_real_escape_string同时返回NULL

由于您没有进行任何数据库操作,因此您应该完全摆脱mysqli_real_escape_string

答案 2 :(得分:0)

你在jquery中的

<script>
$(window).load(function(){
$.get("as.php",
{url:"http://www.wired.co.uk/news/archive/2013-01/10/chinese-desert-mystery"}, function(data){
$('#lax').html(data);
});
});
</script>

在你的php尝试使用$_REQUEST

<?php
include('phpQuery.php');
$file = mysqli_real_escape_string($dbc, strip_tags(trim($_REQUEST['url'])));  
phpQuery::newDocumentFileHTML($file);
$titleElement = pq('title'); 
$title = $titleElement->html();
echo '<a href="" >' . htmlentities( $title) . '</a><br/>';

foreach(pq('meta') as $li)

  if ((pq($li)->attr('name')=='description')||(pq($li)->attr('name')=='Description')){
   echo '<p>'.pq($li)->attr('content').'</p>';
}
?>