我是laravel的新手,在使用ajax时将我的数据发送到laravel中的控制器时遇到问题。我的视图包含一个选择框,当用户从选择框中选择一个值时,它会从数据库中填充我试图调用ajax,它将返回用户工资的详细信息。问题是它给我404找不到错误。
控制器文件的代码如下所示。
this function is defined inside a controller
public function getPostSalary()
{
echo "ajax called";
return 'true';
}
路由文件是
Route::post('company/salary-user', 'CompanyController@getPostSalary');
这是我的ajax代码,来自控制器的calleD
<script>
$(document).ready(function() {
$('#employee').change(function () {
var values = $('#employee').val();
if (values == '') {
$.pnotify({
title: 'Message',
text: 'Please Select a User.',
type: 'error',
delay: 3000
});
return false;
}
var csrf = $('#csrf').val();
$.ajax({
url: '{!! URL::to("company/salary-user")!!}',
type: "POST",
data: { user_id: values, _token: csrf },
cache: false,
beforeSend: function () {
},
success: function (data) {
console.log(data);
$('#loader').hide();
}
});
});
});
</script>
有人可以帮我弄清楚问题是什么以及应该怎么做来调用我的功能。
答案 0 :(得分:2)
单引号用于字符串,因此您的网址不会按预期生成。像这样使用
url : "{!! URL::to('company/salary-user')!!}",
答案 1 :(得分:0)
替换此行:
{!! URL::to("company/salary-user")!!}
by:
{{ url('/company/salary-user') }}
或
{{ route('/company/salary-user') }}
答案 2 :(得分:0)
您可以使用直接网址
$.ajax({
url:'company/salary-user',
type: "POST",
data: { user_id: values, _token: csrf },
cache: false,
beforeSend: function () {
},
success: function (data) {
console.log(data);
$('#loader').hide();
}
});