Невозможно получить данные, используя почту AJAX в Laravel - PullRequest
0 голосов
/ 10 декабря 2018

Я пытаюсь отправить некоторые переменные (данные), одна из них - текст флажка, а другая - значение в поле 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.log(data);    
       }
        ,error:function(){ 
            console.log("Error!!!!");
       }    
    });
    });
    }); 
     </script>

При попытке получить значения запроса в контроллере отображается только токен запроса, и функция ajax также не отображает сообщение об успешном завершении или об ошибке. Что я здесь пропускаю?

Ответы [ 4 ]

0 голосов
/ 10 декабря 2018
<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.log(data);    
       }
        ,error:function(){ 
            console.log("Error!!!!");
       }    
    });
    });
    }); 
     </script>
0 голосов
/ 10 декабря 2018

вам нужно установить переменную на ajax success следующим образом:

$.ajax({
            type: "POST",
            url: "/masterdata",
            //dataType: 'json',
            data: {aa,bb},
            success:function(response){
            console.log(response);    
       }
        ,error:function(){ 
            console.log("Error!!!!");
       }    
});
0 голосов
/ 10 декабря 2018

Я нашел две проблемы в вашем запросе ajax.

  1. Вы должны изменить data: {aa,bb}, на объект, подобный data: {aa : aa, bb : bb},
  2. Ваш журнал успешных ответов неверен.Текущий код 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.log(data);    
       }
        ,error:function(){ 
            console.log("Error!!!!");
       }    
    });
    });
    }); 
</script>

Для получения значения параметра в контроллере используйте

 /**
 * Store.
 *
 * @param  Request  $request
 * @return Response
 */
public function store(Request $request)
{
    $aa = $request->input('aa');
    $bb = $request->input('bb');
    //Your code here
}
0 голосов
/ 10 декабря 2018

Попробуйте свои данные в следующем формате:

data:{'posa': aa, 'posb': bb},

и

    success:function(data){
        console.log(data);    
   }

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...