Javascript 在HTML jQuery POST响应中从DIV提取文本
我正在为一个网站编写代码,并决定执行一个jQuery帖子来调用一个PHP函数,一切都正常,但我得到的不是一个DIV作为响应,而是一个完整的HTML页面。我的疑问是:如何从我用id“response”封装的DIV中提取文本 以下是JS和PHP代码: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); $
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。我希望这是有意义的。