注意事项:ajax的url问题,我是将ajax嵌套到layer中,待提交的表单的地址为:http://www.admin.local.com/systerm/payInterface ajax的post地址为:http://www.admin.local.com/systerm/addPay 那么url只需要写addPay就可以了,提交的地址获取ajax的数据代码是:Input::get('');(前面加上 use Input),网上有使用 Input::all()获取全部ajax数据的,我不知道为什么我的获取不了全部数据,所以我就一个个获取的。代码片段如下:
***.blade.php:
***
<a class="btn btn-sm btn-primary f-r m-l" href="#" id="add"><i class="icon hy-plus"></i>创建</a>
{!! Form::open(['class'=>'form-horizontal m-t', 'method'=>'post', 'id'=>'form_add']) !!}
{!! Form::text('name', Input::get('name'), ['class' => 'form-control', 'id'=>'Name', 'data-rule'=>'支付接口名称:required;name']) !!}
{!! Form::close() !!}
***
<script>
// 支付接口新增
$("#add").click(function (e) {
layer.open({
title: '新增支付接口',
type: 1,
area: ['600px'],
content: $("#add_panel"),
btn: ['确定', '取消'],
yes: function (index, layero) {
$.ajax({
url :"addPay",
type: "POST",
dataType:'json',
data : $('#form_add').serialize(),
success: function(data)
{
}
});
layer.close(index);
toastr.success('新增支付接口成功', '新增支付接口');
},
cancel: function (index) {
}
});
e.preventDefault();
});
</script>
/****controller**/
***
use Input;
***
$name = Input::get('name');
ajax 的 dataType如果指定为json总是会回调error而不是回调 success 后来去掉dataType 就可以解决了 后查资料得知jquery对json的格式要求比较严格,必须是非常标准的json格式才会执行success。