javascript:

<script>
$('.ajax-post').click(function(){
var action_url=$('form').attr('action');
var title=$('#title').val();
var keyword=$('#keyword').val();
var url=$('#url').val();
var pid=$('#pid').val();
$.ajax({
url:action_url,// 跳转到 action
data:{
"title" : title,
"keyword" : keyword,
"url" : url,
"pid" : pid
},
type:'POST',
cache:false,
dataType:'json',
success:function(data) {
if(data.status =="true" ){
// view("修改成功!");
alert("修改成功!");
window.location.reload();
}else{
view(data.content);
}
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
alert(XMLHttpRequest.status);
alert(XMLHttpRequest.readyState);
alert(textStatus); // paser error;
},
});
});
</script>

html form:

<form action="{:addons_url('CustomMenu://CustomMenu/add')}" method="post" class="form-horizontal">
<div class="form-item">
<label class="item-label">菜单名<span class="check-tips">(微信菜单)</span></label>
<div class="controls">
<input type="text" class="text input-large" name="title" value="" id="title">
</div>
</div>
<div class="form-item">
<label class="item-label">关联关键词<span class="check-tips">(对应微信菜单的click事件)</span></label>
<div class="controls">
<input type="text" class="text input-large" name="keyword" value="" id="keyword">
</div>
</div>
<div class="form-item">
<label class="item-label">关联URL<span class="check-tips">(对应微信菜单的view事件)</span></label>
<div class="controls">
<input type="text" class="text input-large" name="url" value="" id="url">
</div>
</div>
<div class="form-item">
<label class="item-label">上级菜单<span class="check-tips">(所属的上级菜单)</span></label>
<div class="controls">
<select name="pid" id="pid">
<option value="0">顶级菜单</option>
</select>
</div>
</div>
<div class="form-item">
<input type="hidden" name="id" value="">
<button class="btn submit-btn ajax-post" id="submit" type="submit" target-form="form-horizontal">确 定</button>
</div>
</form>

PHP

public function add(){
if(IS_POST){
$Menu = D('CustomMenu');
$data = $Menu->create();
if($rs = M('CustomMenu')->add($data)){
$data['status'] = 'true';
$data['content'] = '添加成功';
$this->ajaxReturn($data,'json');
}else{
$data['status'] = 'false';
$data['content'] = '添加失败';
$this->error($data,'json');
}
}
$this->display('CustomMenu@add');
}

  

 

  

[thinkphp] ajaxReturn案例的更多相关文章

  1. ajaxReturn案例

    请查看:http://www.cnblogs.com/bushe/p/4625097.html 不用自己写json格式啦,直接拿这个用就可以啦

  2. ThinkPHP快速入门

    ThinkPHP快速入门 1.ThinkPHP自动生成 当我们部署完ThinkPHP框架后,其会自动生成Application文件夹,如下图所示: 2.自动生成细节分析 问题1:Application ...

  3. thinkphp 重写

    我们知道,在thinkphp的案例中有一个.htaccess文件,里面配置了URL的一些重写规则,如: <IfModule mod_rewrite.c>  RewriteEngine on ...

  4. TP隐藏入口

    我们知道,在thinkphp的案例中有一个.htaccess文件,里面配置了URL的一些重写规则,如: <IfModule mod_rewrite.c>  RewriteEngine on ...

  5. (Nginx和PHP下)URL重写,TP实现URL重写

    UrlRewrite就是我们通常说的地址重写,用户得到的全部都是经过处理后的URL地址. 优点 一:提高安全性,可以有效的避免一些参数名.ID等完全暴露在用户面前,如果用户随便乱输的话,不符合规则的话 ...

  6. Wex5案例使用JSON传输Thinkphp后端对接,以达成数据正常输出

    初步接触Wex5,操作起来还是觉得比较复杂!而且教程不多,让我着实比较烦躁! 因此自己动手丰衣足食!还是比较实在的! 采用版本:WeX5应用快速开发框架V3.5正式版 我们使用Wex5的仿淘宝APP案 ...

  7. thinkphp后台ajaxReturn提示下载的问题

    thinkphp新版设置了ajaxreturn方法如果是JSON格式会自动设置头信息为JSON格式,这样做在谷歌下可以正常解析,但是在IE和OPERA浏览器下就会提示下载,从而导致程序出错,修改方法如 ...

  8. thinkphp中AJAX返回ajaxReturn()方法分析

    本文分析了thinkphp中AJAX返回ajaxReturn()方法.分享给大家供大家参考,具体如下: 系统支持任何的AJAX类库,Action类提供了ajaxReturn方法用于AJAX调用后返回数 ...

  9. thinkphp中的AJAX返回ajaxReturn()

    系统支持任何的AJAX类库,Action类提供了ajaxReturn方法用于AJAX调用后返回数据给客户端.并且支持JSON.XML和EVAL三种方式给客户端接受数据,通过配置DEFAULT_AJAX ...

随机推荐

  1. [C/C++] malloc内存分配与free内存释放原理

    1.问题的引入: 为什么要使用malloc,主要是因为在代码中,为了节约内存,很多数据都是动态生成的,所以会用malloc,对应于C++中的new,底层还是调用malloc. 2.碎片的问题: 会有内 ...

  2. delphi数据库进行增加操作时,怎么判断插入的这个值是否已经存在?

    //增 procedure TForm1.btnAddClick(Sender: TObject); begin ADOQuery1.Close; ADOQuery1.SQL.Clear; ADOQu ...

  3. BZOJ4513 SDOI2016储能表(数位dp)

    如果n.m.k都是2的幂次方,答案非常好统计.于是容易想到数位dp,考虑每一位是否卡限制即可,即设f[i][0/1][0/1][0/1]为第i位是/否卡n.m.k的限制时,之前的位的总贡献:g[i][ ...

  4. underscore的bind和bindAll方法

    bind方法和bindAll方法都是用来设定函数的this值的,区别是调用方式不同. var xiaoming = { say:function(){ console.log('I am xiaomi ...

  5. poj 2104 (划分树模板)

    Description You are working for Macrohard company in data structures department. After failing your ...

  6. Array.slice(start,end)的用法

    start在start>=0,假设start=0,表示从数组的第一个元素开始截取,start=2,表示从数组的第二个元素开始截取,依次类推. 在start<0时,start=-1表示从倒数 ...

  7. mysql————表类型(存储引擎)的选择

    表类型(存储引擎)的选择 7.1 mysql存储引擎概述 插件式存储引擎是mysql数据库最重要的特性之一,用户可以根据应用的需要选择ruhr存储和索引数据,是否使用事务等. InnoDB和BDB提供 ...

  8. centos 安装mysql 笔记

    1.查询已安装软件的目录 rpm -ql mysql 2.mysql的安装卸载 a. 查找已安装的myslq 版本: #rpm  -qa | grep  mysql (注意大小写,如果mysql 不行 ...

  9. Cannot read property 'resetFields' of undefined 问题及引申

    问题描述: 使用element开发我的后台系统,编辑和新增使用了同一个弹出框<el-dialog><el-form></el-form></el-dialog ...

  10. Ant Design 使用小结

    最近公司做了一个系统,因为页面涉及的表单交互非常多,如果使用之前的 Node + Express 的开发模式效率是非常低的,因此经过考虑,最后决定使用 Node + React 的开发模式,并且使用了 ...