【问题标题】:Response not received from ajax request in php未从 php 中的 ajax 请求收到响应
【发布时间】:2015-07-08 08:36:22
【问题描述】:

我有一个页面,其中有表格,每一行都有一个用于详细信息的图标。单击该图标时,我将该行的唯一标识符获取到数据字符串中并发送 AJAX 请求。我得到了回应,但无法捕捉到正确的回应。为什么我做错了?我需要访问 home.php 中的 $desc,如何响应?

home.php

$.ajax({
        type: "POST",
        url: "actionone.php",
        data: dataString,
        cache: true,  
        success:function() {
        alert("success"); 
    }
});

actionone.php

if(isset($_POST['content']))
{
$content=(int)$_POST['content'];
$fetch = mysql_query("SELECT ISSUEDESCRIPTION FROM issues WHERE KBID =$content");
while($rowe = mysql_fetch_array($fetch))    
{   
    $desc = $rowe['ISSUEDESCRIPTION'];
} 

【问题讨论】:

  • 你只是设置$dec的值 -> $desc = $rowe['ISSUEDESCRIPTION'];。您需要在actionone.php -> echo $desc; 中回显它。然后在home.php你需要在你的成功中访问它->success : function(data) { alert(data); }
  • while($rowe = mysql_fetch_array($fetch)) { $desc = $rowe['ISSUEDESCRIPTION']; } echo json_encode($desc);
  • 您没有从您需要使用echo json_encode($data);success: function(data){ console.log(data)} 的php 文件中传递$data

标签: php jquery ajax


【解决方案1】:

对于成功的 ajax 工作,您可以从 php 代码中输出一些 即更改php代码为

if(isset($_POST['content']))
{
    $content=(int)$_POST['content'];
    $fetch = mysql_query("SELECT ISSUEDESCRIPTION FROM issues WHERE KBID =$content");
    while($rowe = mysql_fetch_array($fetch))    
    {   
         $desc = $rowe['ISSUEDESCRIPTION'];
    }
    echo $desc;
}

JQUERY

$.ajax({
        type: "POST",
        url: "actionone.php",
        data: dataString,
        cache: true,  
        success:function(data) {
        alert(data.trim()); 
    }
});

【讨论】:

  • OP 想要access the $desc。所以应该是echo $desc;,而不是echo "success";。此外,OP 没有对 $.ajax() 成功函数中的返回值做任何事情。
  • 我在 actionone.php 中添加了 echo 行,然后如果我在 home.php 中发出警报,我会在警报中得到一个 javascript 行。我没有收到 $desc 值。现在该怎么办?
猜你喜欢
  • 2020-08-04
  • 2019-04-25
  • 1970-01-01
  • 1970-01-01
  • 2012-04-14
  • 1970-01-01
  • 1970-01-01
  • 2018-09-18
  • 1970-01-01
相关资源
最近更新 更多