在 laravel 中获取 500 个内部服务器代码 [重复]

Posted

技术标签:

【中文标题】在 laravel 中获取 500 个内部服务器代码 [重复]【英文标题】:Getting a 500 Internal Server code in laravel [duplicate] 【发布时间】:2018-07-23 21:06:39 【问题描述】:

我有一个 laravel 页面,我正在从我的 javascript 发送手机号码以验证它。我已正确路由它,但仍然收到此错误。我在下面发布我的代码 sn-ps,如果有任何错误,请检查并帮助我。

profile.blade.php

function sendotp()
    
        var countryData = $("#country_selector").countrySelect("getSelectedCountryData");
        var isd = countryData.isd;
        $("#isdcode").val(isd);
        var isdcode = $("#isdcode").val();
        var mobile=$("#telephone").val();
        var email=$('#Email').val();
        $.ajax(
          url:'url("ajax/checkphone")',
          method:'post',
          data:'mobile':mobile,
          success:function(output)
          
            obj = JSON.parse(data);
            if(obj.status=='true')
            
              alert("Number already exists.");
              window.location ="url('profile')";
            
            else 

              $.ajax(
                  url:'url("ajax/registerotp")',
                  method:'post',
                  data:'isdcode':isdcode,'phone':mobile,'reg_email':email, 'type': 'Update',
                  success:function(output)
                  
                      obj = JSON.parse(output);
                      if(obj.status=='1')
                      
                          $("#modal-otp").modal(
                              backdrop: 'static',
                              keyboard: false
                          );
                          linkactivate();
                      
                      else
                      
                          $("#otp_msg").html('<div class="alert alert-danger"><a href="#" class="close" data-dismiss="alert" aria-label="close">&times;</a>'+obj.sms+'</div>')
                      
                  
              );

            
          
        );
    

web.php

Route::post('ajax/checkphone', 'AjaxController@checkphone');

AjaxController.php

function checkphone($mobile_no)
    $numbers = Users::all()->filter(function ($record) use ($mobile_no)
        if(owndecrypt($record->mobile_no) == $mobile_no)
            $data['message']="true";
        
        else
            $data['message']="false";
        
    );
    echo json_encode($data);

这是我得到的错误。

谢谢,感谢您的帮助。

【问题讨论】:

你看过浏览器开发者工具中的AJAX请求/响应吗?是否报告了任何错误? @JayBlanchard 请检查我添加的图片是否有错误。 @RajShah 打开网络选项卡,单击该请求,它应该会显示 Laravel 发回的文本。如果APP_DEBUG=true 在您的.env 中,则应包含完整的错误消息和堆栈跟踪。 @ceejayoz 将检查 .env 文件并按照您说的步骤操作。 @ceejayoz 显示 csrf 令牌不匹配错误。 【参考方案1】:

添加$data = [],使用前定义数据类型,避免500错误

function checkphone($mobile_no)
    $data = [];// define data type here
    $numbers = Users::all()->filter(function ($record) use ($mobile_no)
        if(owndecrypt($record->mobile_no) == $mobile_no)
            $data['message']="true";
        
        else
            $data['message']="false";
        
    );
    echo json_encode($data); 

【讨论】:

不,它没有帮助,仍然是同样的错误。【参考方案2】:

您收到的数据不正确

function checkphone(Request $request)
    $postData = $request->all();
    $numbers = Users::all()->filter(function ($record) use ($postData)
        if(owndecrypt($record->mobile_no) == $postData['phone')
            $data['message']="true";
        
        else
            $data['message']="false";
        
    );
    echo json_encode($data);

【讨论】:

我使用的方式也适用于我在其他功能中正确获取数据。 那我建议你开启错误显示模式,看看哪些immeno不适合你 你能指导我怎么做吗? 您可以指定站点运行的环境

以上是关于在 laravel 中获取 500 个内部服务器代码 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

在 laravel 开始时出现 500 个内部错误

500(内部服务器错误)在 Laravel 5 中使用 Ajax

在 laravel 5.2 中使用 jquery 和 ajax 出现 500 内部服务器错误

Laravel 5 App - AJAX 发布请求不接受令牌并引发 500 内部服务器错误

GET 500(内部服务器错误)laravel/js

Laravel 在共享主机上给出 500 内部错误