我有一个链接,使用一些数据向特定的URL发送ajax请求 . ajax url的目标执行一些操作并返回数据 . 现在我有一个问题,即ajax响应也包含所有的html . 一些我怎么不能禁用布局或html之类的东西 . 现在你能告诉我怎么做这个任务 . 是否有一种火箭科学方法可以从ajax响应中获取特定数据 .
我从here得到了一个想法,我将在一些html元素中发送我的响应,然后我将获得该html元素 . 但这看起来非常糟糕 . 到目前为止,我所尝试的是这个
$.ajax({
url : "<?php echo $this->url(array('controller'=>'index','action'=>'ajaxcall','name'=>'shahrukh','id'=>377),'default');?>",
type: "post",
data: {car: 'Honda' },
success: function(data){
var $response=$(data);
var oneval = $response.filter('#one').html();
alert(oneval);
}});
在服务器端我只是这样做
echo "<div id='one'>Ajax response</div>";
有没有其他方法来做到这一点...顺便说一下它也返回undefined :-(
最好的祝福
2 回答
使用ajax json响应
在服务器端,您始终可以检查标头
HTTP_X_REQUESTED_WITH
以检测ajax请求 . 然后根据该条件,您可以切换响应的内容 .此外,如果您希望从javascript ajax成功函数中的响应中删除一些html内容,那么我可以建议您围绕html注释包装所需的响应 . 例如:
<!--AjaxResponseStart-->...<!--AjaxResponseEnd-->
. 然后它只是使用一些检查(对于undefined)和正则表达式只获得所需的内容:以下是如何从响应中获取html内容的示例:
希望你得到我想说的话 .