带有数据变量的Ajax GET请求

时间:2017-10-05 10:00:36

标签: javascript php ajax laravel

我正在尝试使用ajax向Laravel函数执行GET请求。此请求具有以下参数:$ id,$ date,$ service_time。在Laravel函数中,我想将日期转换为Carbon日期。有没有解决方案将正确的java脚本日期格式转换为此Carbon格式?我只需要日期而不是时间。当我使用下面的代码时,我得到一个Unix时间戳,当我选择05-10-2017时,我得到的结果是04-10-2017。

var date = document.getElementById("startdate").value;
var newDate = new Date(date);
newDate.format("mm/dd/yy");

另一个问题我通过ajax中的URL发送参数。有更好的方法吗?

var base_url = "{{ url('/') }}";
        $.ajax({
            type: "GET",
            url : base_url+"/company/available/1/18-10-2017/30",
            //data: {id : 1, date: "2017/10/18", service_time: service_time},
            success : function(data){
                $.each($(data), function(key, value) {
                    if(value.availity == 1) {
                        console.log(value.availity);
                      $('#available').append($("<div class='beschikbaar-style'></div>").text(value.time));
                    }
              });
            }
        });
    });

这是调用函数的路径:

Route::get('company/available/{id}/{date}/{service_time}', 'AppointmentsController@get_available_times')->name('companies.getAvailableTimes');

这是一个名为的函数:

function get_available_times($company_id, $date, $service_time = false)
{
     // $company_id = 1; 
    //$date = "2017-10-18";
    // $service_time = 30;

     $day = new Carbon($date);

3 个答案:

答案 0 :(得分:0)

试试这个

     $date = "2017-10-18";
     $newDate = Carbon::parse($date)->now()->format('Y-m-d H:i:s');
     dd($newDate); // 2017-10-05 15:52:17

答案 1 :(得分:0)

您可以使用createFromFormat函数,如下所示:

$day = \Carbon\Carbon::createFromFormat('mm-dd-yy', $date);

答案 2 :(得分:0)

我向Laravel发送javascript日期时遇到了同样的问题,这是因为Date对象的时区部分。

也许这个函数可以帮助将Date转换为SQL格式化字符串。这不是最好的JavaScript,但会有所帮助:)

function sqlDate (date) {
  var y = date.getFullYear();
  var m = date.getMonth() + 1;
  var d = date.getDate();
  var s = y.toString() + '-';
  if (m < 10) {
    s += '0' + m.toString() + '-';
  } else {
    s += m.toString() + '-';
  }
  if (d < 10) {
    s += '0' + d.toString();
  } else {
    s += d.toString();
  }
  return s;
}