无法在Laravel中使用AJAX发布接收数据

时间:2018-12-10 09:28:18

标签: ajax laravel

我正在尝试发送一些变量(数据),一个是复选框文本,另一个是通过ajax向Laravel中的控制器发送的textarea字段中的值,下面是脚本:

<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 :(得分:0)

尝试使用以下格式的数据:

.qm

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

希望这会有所帮助。

答案 1 :(得分:0)

您需要像这样在ajax成功上设置一个变量:

$.ajax({
            type: "POST",
            url: "/masterdata",
            //dataType: 'json',
            data: {aa,bb},
            success:function(response){
            console.log(response);    
       }
        ,error:function(){ 
            console.log("Error!!!!");
       }    
});

答案 2 :(得分:0)

我在您的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
}

答案 3 :(得分:0)

<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>