为了账号安全,请及时绑定邮箱和手机立即绑定

AJAX为什么返回的是整个页面的HTML?

AJAX为什么返回的是整个页面的HTML?

PHP
翻过高山走不出你 2019-03-13 03:53:25
代码如下: var geolocation = new BMap.Geolocation(); geolocation.getCurrentPosition(function(r){ if(this.getStatus() == BMAP_STATUS_SUCCESS){ //主要用来获取r.point.lat和r.point.lng这两个经纬值 $.ajax({ url:'list.php?fid=$fid', data: {'lng':r.point.lng,'lat':r.point.lat}, type:'get', async:false, success:function(d){ alert(d); } }); else { alert('failed'+this.getStatus()); } },{enableHighAccuracy: true}); 我的PHP文件里(list.php)是MYSQL查询语句和while循环。我上面代码获取的经纬度是用来在mysql查询语句里与商家设置的经纬度计算获取距离用的,PHP里使用$_GET['lng']在AJAX返回值里可以获取到那两个值(我通过alert(d)可以看到商家列表里计算出的距离),可问题出现了。如果获取不到上面的lat和lng就会错误并在前端打印出MYSQL所有语句。如果我$('body').html(d);就会出现AJAX无限自动刷新加载整个页面。(初步认为可能是在执行AJAX的时候因为返回的是整个HTML页面,所以AJAX又再一次执行了一次,如此造成不断刷新加载)。 请问,我该如何解决这个问题呢?先谢谢啦!~ PHP文件 <?php define('MOB_PAGE',true); require(dirname(__FILE__)."/global.php"); choose_domain(); //域名判断 //导航条 @include(Mpath."data/wapguide_fid.php"); $fidDB=$db->get_one("SELECT A.* FROM {$_pre}sort A WHERE A.fid='$fid'"); if(!$fidDB){ showerr("栏目不存在"); }elseif($fidDB[jumpurl]){ header("location:$fidDB[jumpurl]"); exit; } /** *模型配置文件 **/ $field_db = $module_DB[$fidDB[mid]][field]; //字段筛选 unset($TempSearch_2,$TempSearch_array,$seo_tile); foreach($field_db AS $key=>$value){ if($value[listfilter]){ if($$key){ //SEO,title $detail=explode("\r\n",$value[form_set]); foreach($detail AS $_value){ $detail2=explode("|",$_value); $detail2[1] || $detail2[1]=$detail2[0]; if($detail2[0]==$$key){ $seo_tile.=" {$value[title]} {$detail2[1]} "; break; } } } $TempSearch_2.="$key=>'{$$key}',"; //分页链接使用 $TempSearch_array[$key]=$$key; //其它链接使用 $search_fieldDB[$key][$$key!=''?$$key:0]=" selected class='ck' style='color:red;'"; } } /** *栏目配置参数及栏目用户自定义的变量 *对栏目用户自定义的变量附件路径做处理 *以下用的比较少,可以删除忽略 **/ $fidDB[config]=unserialize($fidDB[config]); $CV=$fidDB[config][field_value]; $_array=array_flip($fidDB[config][is_html]); foreach( $fidDB[config][field_db] AS $key=>$rs){ if(in_array($key,$_array)){ $CV[$key]=En_TruePath($CV[$key],0); }elseif($rs[form_type]=='upfile'){ $CV[$key]=tempdir($CV[$key]); } } //SEO $titleDB[title] = $fidDB[metatitle]?seo_eval($fidDB[metatitle]):strip_tags("{$city_DB[name][$city_id]} {$zone_DB[name][$zone_id]} {$street_DB[name][$street_id]} $fidDB[name] $seo_tile"); $titleDB[keywords] = seo_eval($fidDB[metakeywords]); $titleDB[description] = seo_eval($fidDB[metadescription]); //大分类与小栏目的判断 if($fidDB[type]){ $sortDB=ListOnlySort(); }else{ $_erp=$Fid_db[tableid][$fid]; if($fidDB[maxperpage]){ $rows=$fidDB[maxperpage]; }elseif($webdb[Info_ListNum]){ $rows=$webdb[Info_ListNum]; }else{ $rows=5; } $listdb=ListThisSort($rows,70); if($totalNum){ $showpage=getpage("","","waplist.php?",$rows,$totalNum); $showpage=preg_replace("/waplist\.php\?&page=([0-9]+)/eis","get_info_url('',$fid,$city_id,$zone_id,$street_id,array($TempSearch_2'page'=>'\\1'))",$showpage); } } //列表页个性头部与尾部 get_list_tpl($head_tpl,$foot_tpl,$main_tpl); //获取标签内容 $template_file=$fidDB[type]?getTpl("wapbigsort",$main_tpl):getTpl("waplist_$fidDB[mid]",$main_tpl); fetch_label_value(array('pagetype'=>'2','file'=>$template_file,'module'=>$webdb['module_id'])); //require(Mpath."inc/waphead.php"); require($template_file); //require(Mpath."inc/wapfoot.php"); function nearby_utf8($str) { if('utf-8' != CHARSET) { return iconv('utf-8', 'gbk',$str); } return $str; } /** *针对栏目获取内容信息列表 **/ function ListThisSort($rows,$leng){ global $db,$_pre,$page,$fid,$fidDB,$SQL,$city_id,$zone_id,$street_id,$field_db,$timestamp,$webdb,$timestamp,$Murl,$Fid_db,$_erp,$totalNum,$otherSelect,$Module_db; $SQL=''; if($street_id>0){ $SQL =" AND A.street_id='$street_id' "; }elseif($zone_id>0){ $SQL =" AND A.zone_id='$zone_id' "; }else{ $SQL = build_module_sql(); } //用户自定义筛选字段,过滤数据 foreach($field_db AS $key=>$value){ if($value[listfilter]){ if($_GET[$key]!=''){ $otherSelect++; if($value[form_type]=='checkbox'){ $SQL .=" AND BINARY B.`$key` LIKE '%/#/$_GET[$key]/#/%' "; }else{ $SQL .=" AND BINARY B.`$key`='$_GET[$key]' "; } } } } if(!$webdb[Info_ShowNoYz]){ $SQL .=" AND A.yz='1' "; } if($page<1){ $page=1; } if($fidDB[listorder]==1){ $sql_list="A.posttime"; $sql_order="DESC"; }elseif($fidDB[listorder]==2){ $sql_list="A.posttime"; $sql_order="ASC"; }elseif($fidDB[listorder]==3){ $sql_list="A.hits"; $sql_order="DESC"; }elseif($fidDB[listorder]==4){ $sql_list="A.hits"; $sql_order="ASC"; }elseif($fidDB[listorder]==5){ $sql_list="A.lastview"; $sql_order="DESC"; }elseif($_GET[dis]==6){ $sql_list="if(distance = '商家还未上传位置哟',1,0), distance+0"; $sql_order="ASC"; }else{ $sql_list="A.list"; $sql_order="DESC"; } $tsdb=array(); $lonA = $_GET['lng']; $latA = $_GET['lat']; echo $lonA.'-'.$latA.'</br>'; $i=0; require(ROOT_PATH."inc/gps.inc.php"); $dw = new GPS(); $mysql2="select SQL_CALC_FOUND_ROWS r.* from("; $mysql1='select * from ( select e.groupid,d.qy_contact_tel,d.host,d.myhost,B.*,d.title title1,d.gg_maps,substring_index(gg_maps, ",", 1) AS lng,substring_index(gg_maps, "," ,- 1) AS lat,a.title,a.mid , a.fname ,a.info ,a.hits,a.comments ,a.posttime,a.list ,a.username ,a.titlecolor,a.fonttype , a.picurl ,a.ispic,a.yz ,a.yzer ,a.yztime ,a.levels ,a.levelstime,a.keywords,a.jumpurl,a.iframeurl ,a.style,a.head_tpl ,a.main_tpl ,a.foot_tpl,a.target ,a.ishtml,a.ip,a.lastfid,a.money, a.passwd,a.editer,a.edittime,a.begintime ,a.endtime,a.config ,a.lastview ,a.city_id , a.zone_id,a.street_id ,a.editpwd ,a.showday ,a.visit_log ,a.visit_num,a.telephone,a.mobphone , a.email,a.oicq ,a.msn ,a.linkman,a.postcode,a.address ,a.weburl ,a.fax,a.maps,a.picnum ,a.replytime ,a.yhqID, case when gg_maps then ROUND(6378.138 * 2 * ASIN(SQRT(POW(SIN(('.$latA.' * PI() / 180 - substring_index(gg_maps, ",", -1) * PI() / 180) / 2),2) + COS('.$latA.' * PI() / 180) * COS(substring_index(gg_maps, ",", -1) * PI() / 180) * POW(SIN(('.$lonA.' * PI() / 180 - substring_index(gg_maps, "," ,1) * PI() / 180) / 2),2))) * 1000) else "商家还未上传位置哟" end distance FROM qb_fenlei_content A LEFT JOIN '; $mysql4=' B ON A.id=B.id LEFT JOIN QB_HY_COMPANY d ON a.uid=d.uid LEFT JOIN qb_memberdata e on a.uid=e.uid LEFT JOIN qb_group f on e.groupid=f.gid'; $min=($page-1)*$rows; $query=$db->query("$mysql2$mysql1{$_pre}content_{$fidDB[mid]}$mysql4 WHERE a.list>a.posttime and A.fid=$fid $SQL ORDER BY $sql_list $sql_order ) o union $mysql1{$_pre}content_{$fidDB[mid]}$mysql4 WHERE a.list=a.posttime and A.fid=$fid $SQL ORDER BY $sql_list $sql_order ) p union $mysql1{$_pre}content_{$fidDB[mid]}$mysql4 WHERE a.list=a.posttime and A.fid=$fid $SQL ORDER BY $sql_list $sql_order ) q union $mysql1{$_pre}content_{$fidDB[mid]}$mysql4 WHERE a.list=a.posttime and a.uid=0 and A.fid=$fid $SQL ORDER BY $sql_list $sql_order ) s)r LIMIT $min,$rows"); // LIMIT $min,$rows function getmapDistance($lat1, $lng1, $lat2, $lng2, $len_type = 1, $decimal = 2){ $EARTH_RADIUS=6378.137; $PI=3.1415926; $radLat1 = $lat1 * $PI / 180.0; $radLat2 = $lat2 * $PI / 180.0; $a = $radLat1 - $radLat2; $b = ($lng1 * $PI / 180.0) - ($lng2 * $PI / 180.0); $s = 2 * asin(sqrt(pow(sin($a/2),2) + cos($radLat1) * cos($radLat2) * pow(sin($b/2),2))); $s = $s * $EARTH_RADIUS; $s = round($s * 1000); /* echo $s.'<br />'; if ($len_type > 1) { //$s /= 1000; } */ return round($s,$decimal); } $RS=$db->get_one("SELECT FOUND_ROWS()"); $totalNum=$RS['FOUND_ROWS()']; while( $rs=$db->fetch_array($query) ){ if(del_EndTimeInfo($rs)){ //自动删除过期信息 continue; } $rs[content]=@preg_replace('/<([^>]*)>/is',"",$rs[content]); //把HTML代码过滤掉 $rs[content]=get_word($rs[full_content]=$rs[content],100); $rs[my_content1]=get_word($rs[full_content]=$rs[content],100);//20151006 $rs[title1]=get_word($rs[full_title1]=$rs[title1],33); $rs[title]=get_word($rs[full_title]=$rs[title]); if($rs['list']>$timestamp){ $rs[title]="<span>$rs[title]</span><img src='$webdb[www_url]/f/images/pc/ding.jpg' style='margin-left:3px;' border=0>"; }elseif($rs['list']>$rs[posttime]){ //置顶过期的信息,需要恢复原来发布日期以方便排序,放在后面 $db->query("UPDATE {$_pre}content$_erp SET list='$rs[posttime]' WHERE id='$rs[id]'"); } if($rs[mysort1]==100){ $rs[title]="<span>$rs[title]</span><img src='$webdb[www_url]/f/images/pc/jing.jpg' style='margin-left:3px;' border=0>"; }elseif($rs[mysort1]==50){ $rs[title]="<span>$rs[title]</span><img src='$webdb[www_url]/f/images/pc/ding.jpg' border=0>"; } if ($rs[my_zkl]>5){ $rs[my_zkl]=$rs[my_zkl]."折"."<img src='$webdb[www_url]/images/default/icotop.gif' border=0>"; } if(!$rs[yhqID]== null){ $rs[title]="<span>$rs[title]</span><img src='$webdb[www_url]/f/images/pc/quan.jpg' style='margin-left:3px;' border=0>"; } $times=$timestamp-$rs[posttime]; if(!$webdb[Info_list_cache]&&$times<3600){ $rs[times]=ceil($times/60).'分钟前'; }elseif(!$webdb[Info_list_cache]&&$times<3600*24){ $rs[times]=ceil($times/3600).'小时前'; }else{ $rs[times]=date("Y-m-d",$rs[posttime]); } if($rs[mysort1]<101||$rs['list']>$timestamp){ $rs[times]='今天'; } $rs[times]='今天';//因为采集问题,全部设置为今天发帖 $rs[posttime]=date("Y-m-d",$rs[full_time]=$rs[posttime]); if($rs[picurl]){ $rs[picurl]=tempdir($rs[picurl]); } $Module_db->showfield($field_db,$rs,'list'); $rs[url]="$city_url/f/bencandy.php?fid=$rs[fid]&id=$rs[id]&city_id=$rs[city_id]"; //处理店铺url 20151001 $rs[host]=$rs[host]?$rs[host]:"http://www.dazhedidai.com/home/?uid=".$rs[uid]; if($rs[distance] != '商家还未上传位置哟'){ if($rs[distance] > 1000){ $dis = $rs[distance] /1000; $rs[distance] = '<span>距您</span><i>'.round($dis, 2) .'km</i>'; }else{ $rs[distance] = '<span>距您</span><i>'.$rs[distance] .'m</i>'; } }else{ $rs[distance] = '<span>商家还未上传位置哟</span>'; } $listdb[]=$rs; } return $listdb; } /** *大分类 **/ function ListOnlySort(){ global $Fid_db,$module_DB,$fid,$city_id; foreach($Fid_db[$fid] AS $key=>$value){ unset($rs); $rs[name]=$value; $rs[fid]=$key; $rs[url]=get_info_url('',$rs[fid],$city_id); $msconfig=$module_DB[$Fid_db[mid][$key]][field][sortid]; $detail=explode("\r\n",$msconfig[form_set]); foreach( $detail AS $key2=>$value2){ $detail2=explode("|",$value2); $url=get_info_url('',$rs[fid],$city_id,$zoneid,$streetid,array('sortid'=>"$detail2[0]")); $rs[sortdb][]="<A HREF='$url'>$detail2[1]</A>"; } $listdb[]=$rs; } return $listdb; } ?>
查看完整描述

5 回答

?
忽然笑

TA贡献1806条经验 获得超5个赞

猜测是不是直接去请求list.php静态文件了而且又是get。
不知道你能不能把数据的接口跟页面的分开。

查看完整回答
反对 回复 2019-03-18
?
莫回无

TA贡献1865条经验 获得超7个赞

给个dataType:xxx啦

dataType表示你希望给服务器回复给你的 是什么类型的数据 如果你不给 他就给你默认了

查看完整回答
反对 回复 2019-03-18
?
拉风的咖菲猫

TA贡献1995条经验 获得超2个赞

有一种可能是后台出错了 返回的是dubeg页面

查看完整回答
反对 回复 2019-03-18
?
侃侃无极

TA贡献2051条经验 获得超10个赞

$.ajax({
    type: "post",  //数据提交方式(post/get)
    url: "demo.php",  //提交到的url
    data: {username:username,password:password},//提交的数据
    dataType: "json",//返回的数据类型格式
    success: function(msg){
      ...//返回成功的回调函数
    },
    error:function(msg){
      ...//返回失败的回调函数
    }
});```

查看完整回答
反对 回复 2019-03-18
  • 5 回答
  • 0 关注
  • 3192 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信