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

No response from PHP code using jQuery post()

本文关键字:代码 响应 PHP jQuery post 使用      更新时间:2023-09-26

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

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");
?>

谢谢!

法案

尝试 getJSON 并将 alert() 替换为 console.log() 。此外,您的 URL 看起来很奇怪('id=25' + id(。我希望您还注意到JS中有一个同源策略,因此您需要将测试文件上传到指定的域。

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

希望这个帮助

尝试使用 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) . ');'
?>