【问题标题】:Ajax GET request with data variables带有数据变量的 Ajax GET 请求
【发布时间】:2017-10-05 18:26:08
【问题描述】:

我正在尝试使用 ajax 向 Laravel 函数发出 GET 请求。此请求具有以下参数:$id、$date、$service_time。在 Laravel 函数中,我想将日期转换为碳日期。是否有将正确的 java-script 日期格式转换为这种 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);

【问题讨论】:

  • 您可以使用 POST 请求,而不是将它们作为 URL 的一部分发送。此外,Date 对象没有 format() 函数。

标签: javascript php ajax laravel


【解决方案1】:

我在向 Laravel 发送 javascript 日期时遇到了同样的问题,这是因为 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;
}

【讨论】:

    【解决方案2】:

    试试这个

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

    【讨论】:

      【解决方案3】:

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

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

      【讨论】:

        猜你喜欢
        • 2011-06-17
        • 1970-01-01
        • 2021-10-26
        • 2014-05-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-02-12
        相关资源
        最近更新 更多