thinkphp5 layer的一个奇怪问题

cjq003 2018-08-02 10:20:58
info.html

<div class="product_detail_txt">
<p>{$res.title}</p>
<div class="product_detail_infor">
<ul>
<li><span>价格:</span> ¥{$res.price}</li>
</ul>
<div class="product_detail_button">
<a class="btn-zixun" href="javascript:void(0)" >立即咨询</a>
<input type="hidden" id="pid" value="{$res.id}" />
</div>
</div>
</div>


chanpinzixun.html

<div class="c-box">
<form id="form1">
<input type="hidden" name="id" value="{$id}" />
<div class="tabel-tr"><span>您的手机号:</span><input type="text" name="tel" value="" /></div>
<div class="tabel-tr"><span>您的称呼:</span><input type="text" name="name" value="" /></div>
<div class="tabel-tr"> <a id="subt" href="javascript:void(0)" >提交</a> </div>
</form>
</div>

<script type="text/javascript">
$(document).ready(function() {
$("#subt").click(function(){
var form=$("#form1");
var formData=form.serialize();
$.ajax({
type: "POST",
url: "{:U('sub')}", // /index/index/sub/
data: formData,
success: function(data){
alert(data);
},
error: function(data){
alert(data);
}
});
});
});
</script>


index.php

//产品咨询
public function chanpinzixun(){
$post = input();
if(empty($post['id'])){
echo "您咨询的产品不存在";exit;
}
$res = db('product')->where(['id'=>['eq',$post['id']]])->find();
if(empty($res)){
echo "您咨询的产品不存在";exit;
}
$this->assign("id", $post['id']);
return view();
}
public function sub(){
echo " ok1:";
$post = input();
echo ' post: ';
echo var_export($post,true);
$add['pid'] = $post['id'];
$add['tel'] = $post['tel'];
if(!check_tel($add['tel'])){
errormsg('手机号有误');
}
$find = db('product')->where(['id'=>$post['id']])->find();
if(empty($find)){
errormsg('产品不存在');
}
$add['userid'] = $find['userid'];
$add['name'] = $post['name'];
$add['inputtime'] = time();
db('zixun')->insert($add);
echo ' sql: ' . db('zixun')->_sql(); // cjq add
echo "提交成功!";exit;
}


奇怪的是 点咨询后,填了手机号码和姓名,点提交,会提示“提交成功!”,却没输出前面那些跟踪代码!
请不吝赐教!
...全文
445 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
sanlo_up 2018-08-07
  • 打赏
  • 举报
回复
F12看一下
coding8424 2018-08-06
  • 打赏
  • 举报
回复
看你的html代码请求后端成功后会alert(data);但是alert应该调用浏览器原生的alert框,如下图:

但是从你后面的截图看来,明显是一个弹窗浮层,并不是原生浏览器alert框。
建议你在ajax前后添加console.log()输出,如果console.log无输出,应该问题出在前端页面。
相应的php请求中,也断点调试或者变量写入文件看变量结果,然后定位问题。
it0_soft 2018-08-04
  • 打赏
  • 举报
回复
你也不判断状态吗?不管在什么时候都是一个状态
xuzuning 2018-08-04
  • 打赏
  • 举报
回复
IE 浏览器?换其他浏览器看看
cjq003 2018-08-04
  • 打赏
  • 举报
回复
引用 3 楼 xuzuning 的回复:
截个图看看


谢谢版主回复!请看下图:


奇怪的是,我把 // echo "提交成功!";exit; 都注释掉了,它还是会弹出“提交成功!”。
整个项目搜索,没看到其它会弹出“提交成功!”的语句!
xuzuning 2018-08-03
  • 打赏
  • 举报
回复
截个图看看
cjq003 2018-08-03
  • 打赏
  • 举报
回复
引用 1 楼 qq_25846287 的回复:
后台返回格式没错吗?


谢谢回复!不知道,我只知道界面上只输出了 echo "提交成功!";exit; 输出的四个字:提交成功!
写日志怎样才能成功呢?
方梦妍 2018-08-03
  • 打赏
  • 举报
回复
后台返回格式没错吗?

20,359

社区成员

发帖
与我相关
我的任务
社区描述
“超文本预处理器”,是在服务器端执行的脚本语言,尤其适用于Web开发并可嵌入HTML中。PHP语法利用了C、Java和Perl,该语言的主要目标是允许web开发人员快速编写动态网页。
phpphpstorm 技术论坛(原bbs)
社区管理员
  • 开源资源社区
  • phpstory
  • xuzuning
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧