我是“AJAX”的新手,我一直在尝试使用“AJAX”发送请求“ONSELECT”并在“laravel 5”中收到“JSON”响应.
这是我的观点
<select>
<option data-id="a" value="a">a</option>
<option data-id="b" value="b">b</option>
<option data-id="c" value="c">c</option>
</select>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
<script type="text/javascript">
$('select').change(function(){
var data = $(this).children('option:selected').data('id');
$.ajax({
type :"POST",
url :"http://localhost/laravel/public/form-data",
dataType:"html",
data :{ data1:data },
success :function(response)
alert("thank u");
}),
});
</script>
这是我的Controller接收ajax请求
public function formdata(){
$data = Input::get('data1');
//somecodes
return Response::json(array(
'success' => true,
'data' => $data
));
}
这是我的路线
Route::post('form-data',array('as'=>'form-data','uses'=>'FormController@formdata'));
我还尝试仅使用form-data和{{Url :: route(‘form-data’)}}来更改ajax的URL.
解决方法:
出于安全原因,Laravel 5使用csrf令牌验证….试试这个……
>在routes.PHP中
route post('form-data', 'FormController@postform');
>在主布局文件中
<Meta name="csrf-token" content="{{ csrf_token() }}" />
>
var CSRF_TOKEN = $('Meta[name="csrf-token"]').attr('content');
$.ajax({
url: '/form-data/',
type: 'POST',
data: {_token: CSRF_TOKEN},
dataType: 'JSON',
success: function (data) {
console.log(data);
}
});
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。