Я пытаюсь отправить некоторые переменные (данные), один - текст флажка, а другой - значение в поле textarea на контроллер в Laravel через ajax, ниже приведен сценарий:
<script>
$('#btn1').on('click', function() {
$('input[type = "checkbox"]').on('click', function() {
var aa=$(this).next('label').text();
var bb=$('textarea#txt2').val();
$.ajaxSetup({
headers:
{'X-CSRF-TOKEN': $('meta[name = "csrf-token"]').attr('content')}
});
$.ajax({
type: "POST",
url: "/masterdata",
//dataType: 'json',
data: {aa,bb},
success:function(){
console.info(data);
}
,error:function(){
console.info("Error!!!!");
}
});
});
});
</script>
При попытке получить значения запроса в контроллере отображается только токен запроса, а функция ajax также не отображает сообщение об успешном завершении или ошибке. Что мне здесь не хватает?
Я это сделал, и я вижу токен, а также некоторые другие значения запроса, но не те, которые я пытаюсь отправить через AJAX.
Любой код ошибки, который вы получаете ?? 500, 405
Нет, 200, это должно означать, что POST работает нормально>
Вы можете проверить мой ответ -stackoverflow.com/a/47653566/7849549, я сомневаюсь, что вы отправляете запрос ajax
Я также указал маршрут для метода post, поэтому я не могу понять, что здесь нужно сделать.
@MVS Есть две ошибки, проверьте мои ответы





Попробуйте свои данные в этом формате:
data:{'posa': aa, 'posb': bb},
и
success:function(data){
console.info(data);
}
Надеюсь это поможет.
По-прежнему не могу просмотреть их на вкладке ответов.
Могу я взглянуть на код для лучшего понимания?
Значит, в этом нет ничего плохого? Вы тоже можете просмотреть ответ?
Да, я получаю ответ при использовании вашего формата запроса ajax, ничего не могу сказать о вашем бэкэнд-коде (нужно проверить, чтобы быть уверенным). @MVS
вам нужно установить переменную для успеха ajax следующим образом:
$.ajax({
type: "POST",
url: "/masterdata",
//dataType: 'json',
data: {aa,bb},
success:function(response){
console.info(response);
}
,error:function(){
console.info("Error!!!!");
}
});
Я обнаружил две проблемы в вашем запросе ajax.
data: {aa,bb}, на объект типа data: {aa : aa, bb : bb},success:function(), он должен быть success:function(data)Полный вывод нового кода:
<script>
$('#btn1').on('click', function() {
$('input[type = "checkbox"]').on('click', function() {
var aa=$(this).next('label').text();
var bb=$('textarea#txt2').val();
$.ajaxSetup({
headers:
{'X-CSRF-TOKEN': $('meta[name = "csrf-token"]').attr('content')}
});
$.ajax({
type: "POST",
url: "/masterdata",
dataType: 'json',
data: {aa : aa, bb : bb},
processData: false,
cache: false,
async :false,
success:function(data){
console.info(data);
}
,error:function(){
console.info("Error!!!!");
}
});
});
});
</script>
Чтобы получить значение параметра в контроллере, используйте
/**
* Store.
*
* @param Request $request
* @return Response
*/
public function store(Request $request)
{
$aa = $request->input('aa');
$bb = $request->input('bb');
//Your code here
}
Эй, я тоже пробовал это, но разве я не могу просмотреть передаваемые здесь данные, то есть aa и bb в параметрах / ответе с помощью инструментов разработчика ?,
@MVS, как вы пытаетесь получить параметр. не могли бы вы поделиться?
@MVS также поделится маршрутом, который вы установили
Маршрут: Route :: post ('/ masterdata', 'MasterdataController @ store');
Параметры принимаются через var aa, bb.
@MVS я имею в виду в контроллере, как вы пытаетесь получить параметр?
Он возвращает мне нулевое значение.
@MVS можете ли вы получить значение aa и bb в событии щелчка и до вызова ajax?
@MVS обновил мой ответ добавил processData: false,cache: false, async :false,, попробуйте это
Пробовал, все еще не работает, и да, я смог получить значения aa и bb вне функции ajax
@MVS, пожалуйста, добавьте html к своему вопросу, чтобы мы получили больше информации
буду добавлять его когда-нибудь, извините за задержку ответа.
<script>
$('#btn1').on('click', function() {
$('input[type = "checkbox"]').on('click', function() {
var aa=$(this).next('label').text();
var bb=$('textarea#txt2').val();
$.ajaxSetup({
headers:
{'X-CSRF-TOKEN': $('meta[name = "csrf-token"]').attr('content')}
});
$.ajax({
type: "POST",
url: "/masterdata",
//dataType: 'json',
data: 'aa=test'+'&bb=test',
success:function(){
console.info(data);
}
,error:function(){
console.info("Error!!!!");
}
});
});
});
</script>
Что здесь означает aa = test?
aa и bb - это переменные, а test - это строка. Вы также можете отправлять данные на сторону сервера, как это. данные: 'aa =' aa + '& bb =' bb,
Проверяли ли вы в средствах разработки своего браузера, правильно ли отправляются данные на сервер?