Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/250.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在HTML jQuery POST响应中从DIV提取文本_Javascript_Php_Jquery - Fatal编程技术网

Javascript 在HTML jQuery POST响应中从DIV提取文本

Javascript 在HTML jQuery POST响应中从DIV提取文本,javascript,php,jquery,Javascript,Php,Jquery,我正在为一个网站编写代码,并决定执行一个jQuery帖子来调用一个PHP函数,一切都正常,但我得到的不是一个DIV作为响应,而是一个完整的HTML页面。我的疑问是:如何从我用id“response”封装的DIV中提取文本 以下是JS和PHP代码: const showmodel=(id)=>{ $.post(“/index.php/crewdesk/getFlightInfo/”+id,(数据)=>{ console.log(数据) }); $(“#modaltile”).text(id); $

我正在为一个网站编写代码,并决定执行一个jQuery帖子来调用一个PHP函数,一切都正常,但我得到的不是一个DIV作为响应,而是一个完整的HTML页面。我的疑问是:如何从我用id“response”封装的DIV中提取文本

以下是JS和PHP代码:

const showmodel=(id)=>{
$.post(“/index.php/crewdesk/getFlightInfo/”+id,(数据)=>{
console.log(数据)
});
$(“#modaltile”).text(id);
$(“#bookModal”).modal(“show”)
}
公共静态函数getFlightInfo($id)
{
$condition=“AND s.id=”$id';
回声“;
echo json_编码(CrewDeskData::getFlights(self:$stats['location'],“$condition”);
回声“;
}

这是响应的控制台日志->

将jQuery代码更改为下面的代码

使用类似于
$.post

如果您只想从PHP文件返回json数据,只需在
$中使用
dataType:'json'
。ajax
我设置为只接收html作为您的echo a div

const showModal = (id) => {
  $.ajax({
      type: 'POST',
      url: '<?php echo SITE_URL;?>/index.php/crewdesk/getFlightInfo/' + id,
      dataType: 'html',
      success: function(data) {
        console.log(data)
        $("#modalTitle").text(id);
        $("#bookModal").modal("show")
        }
      },
      error: function(xhr, textStatus, errorThrown) {
        //handle error here
      }
    )
  }
}
const showmodel=(id)=>{
$.ajax({
键入:“POST”,
url:'/index.php/crewdesk/getFlightInfo/'+id,
数据类型:“html”,
成功:功能(数据){
console.log(数据)
$(“#modaltile”).text(id);
$(“#bookModal”).modal(“show”)
}
},
错误:函数(xhr、textStatus、errorshown){
//在这里处理错误
}
)
}
}
将您的PHP代码更改为以下内容

public static function getFlightInfo($id){
    $condition = " AND s.id = '$id'";
   echo "<div id='response'>".json_encode(CrewDeskData::getFlights(self::$stats['location'],"$condition"))."</div>";
}
公共静态函数getFlightInfo($id){
$condition=“AND s.id=”$id';
echo“.json_编码(CrewDeskData::getFlights(self::$stats['location'],“$condition”))”;
}

您在PHP端使用的是什么框架?您应该只返回json_encode()行。不要试图解析响应。修复PHP端只返回JSON。我使用的是Codon框架,我相信它只用于PhpVMS。我没有使用这两种方法,但是如果是JSON响应,应该避免在方法中返回HTML。此外,如果它除了返回静态方法中的HTML之外还返回HTML,那么请了解如何告诉框架这应该是一个JSON响应,以便它只返回方法中的数据(即:没有页眉和页脚HTML内容,因此它不是返回的整个页面),我仍然遇到同样的问题。我怎样才能从回复中得到这条短信@Braganca之所以如此,是因为您的php文件具有静态HTML。当然,当您通过
$a.ajax
调用它时,如果您只需要该数据,
json\u encode
只需将该PHP代码放在一个单独的PHP文件中,它就会返回所有内容。然后在上面做ajax。我希望这是有意义的。