#jquery #ajax #laravel
Вопрос:
Я извлекаю данные из базы данных с помощью AJAX в laravel. Все работает нормально. Ниже приведен код моего AJAX:
$('#salesmanlist_input').on('change', function() {
var salesmanlist_input = $(this).val();
$.ajax({
type: 'GET',
url: 'sales/lims_salesman_list',
data: {
data: salesmanlist_input
},
success: function(data) {
console.log("Data in on change salesman is: " data);
}
});
});
маршрут, который я использую для этого, выглядит следующим образом
Route::get('sales/lims_salesman_list', 'SaleController@limsSalesmanList')->name('SalesmanList.view');
Проблема, с которой я сталкиваюсь, заключается в том, что он отлично работает на одном лезвии, но не работает на другом лезвии. В другом файле он выдает ошибку как
jquery.min.js:2 ПОЛУЧИТЬ http://localhost/alimran_final/sales/sales/lims_salesman_list?data=usama
Комментарии:
1. Что вы пытались сделать, чтобы решить эту проблему? Данная «ошибка» не выглядит для меня ошибкой, так есть ли какое-либо реальное сообщение об ошибке, с которым вы столкнулись?
2. я попытался изменить URL-адрес, например
../sales/lims_salesman_list
,,/sales/lims_salesman_list
,/lims_salesman_list
, но он также не работает. Да, я знаю, что код в порядке, но не знаю, почему он все еще не работает.3. Я предлагаю вам повторить
/sales/lims_salesman_list
попытку с помощью ведущей косой черты.
Ответ №1:
URL url: 'sales/lims_salesman_list',
-адрес статический. Как он будет добавлен к текущему URL-адресу. Вы должны добавить URL-адрес в колонку с помощью помощника route
.
$('#salesmanlist_input').on('change', function() {
var salesmanlist_input = $(this).val();
$.ajax({
type: 'GET',
url: "{{ route('SalesmanList.view') }}",
data: {
data: salesmanlist_input
},
success: function(data) {
console.log("Data in on change salesman is: " data);
}
});
});
Комментарии:
1. Пожалуйста, добавьте некоторые пояснения к вашему ответу, чтобы другие могли извлечь из него уроки. Что вы изменили и почему?
2. @NicoHaase Обновлено. И спасибо за предложения.
3. @SNSharma собирается проложить маршрут, но не получает данные, возвращается
[object Object]
вместо фактического результата.4. Просто используйте
console.log(data)
Ответ №2:
Проблема,с которой вы сталкиваетесь, заключается в том, что маршрут статичен, хотя, когда вы находитесь по адресу /URL продаж, он также добавит другие продажи, как это произошло с вами
jquery.min.js:2 GET http://localhost/alimran_final/sales/sales/lims_salesman_list?data=usama
у вас есть 2 решения:
- измените URL-адрес в запросе ajax с url: «продажи/lims_salesman_list» на url: «/продажи/lims_salesman_list», косая черта добавлена в начало
- измените URL-адрес в ajax на URL:»{{ маршрут(‘SalesmanList.view’) }}»,
Однако я предпочитаю использовать решение 2, поэтому оно более динамично, когда вы меняете строки в файле веб-маршрутов, оно будет динамически изменяться
Также попробуйте очистить кэш маршрута