使用jQuery post()的PHP代码没有响应

时间:2012-05-21 22:39:13

标签: php javascript jquery post

我正在尝试从PHP文件中检索数据,读取mySQL数据库。数据在浏览器上正常显示:

http://www.primaryaccess.org/REST/geteasyfile.php?id=25

但是当我尝试使用jQuery的get()或post()方法访问它时,我得不到任何响应。 Firebug中的响应标题表示存在适量的数据,但没有显示任何内容:

$.get("http://www.primaryaccess.org/REST/geteasyfile.php?id=25",function(data) { alert(data); });

这是PHP:

<?
$id=$_GET['id'];
$query="SELECT * FROM easyfile WHERE id = '$id'";
$result=mysql_query($query);
mysql_close();
if (($result == false) || (!mysql_numrows($result)))
    echo "Can't load file!";
else    
    echo mysql_result($result,0,"data");
?>

谢谢!

比尔

3 个答案:

答案 0 :(得分:0)

可能你的问题在url中,你已经设置了id = 25,然后你连接了id变量

希望这个帮助

答案 1 :(得分:0)

尝试getJSON并将alert()替换为console.log()。此外,您的网址看起来很奇怪('id=25' + id)。我希望您也注意到JS中有Same Origin Policy,因此您需要将测试文件上传到指定的域。

答案 2 :(得分:0)

尝试使用json回调

JS

$.ajax({
  url: "http://www.primaryaccess.org/REST/geteasyfile.php?id=25&jsoncallback=?",
  success: function(data) {
    alert(data)
  },
  error: function(error){
    alert(JSON.stringify(error));
  }
});

PHP

<?
$id=$_GET['id'];
$query="SELECT * FROM easyfile WHERE id = '$id'";
$result=mysql_query($query);
mysql_close();
if (($result == false) || (!mysql_numrows($result)))
    $result = "Can't load file!";
else    
    $result = mysql_result($result,0,"data");

$result = array('result' => $result);

echo $_GET['jsoncallback'] . '(' . json_encode($result) . ');'

?>