首页 > 解决方案 > 如何使用 jquery ajax 存储数据?

问题描述

我正在使用此 jquery 代码来使用 ajax 存储数据,但如果我使用

let loc = $('[name="ot_location"]').val(position.coords.latitude+','+position.coords.longitude);

在控制台中它说ReferenceError: loc is not defined我是 javascript 和学习新手,我需要帮助

html

<span>Visit Clear</span><br><input type="checkbox" data-id="{{ $customer->id }}" name="visit_clear" class="js-switch2 js-switch" {{ $customer->visit_clear == 1 ? 'checked' : '' }}>

Java 脚本

    $(document).ready(function(){
    $(document).on('change', '.js-switch2', function () {
        let visit_clear = $(this).prop('checked') === true ? 1 : 0;
        if ($(this).prop('checked') == 1) {
       $(this).closest('tr').addClass('visitclear');
      //ot get location
       function getLocation() {
      if (navigator.geolocation) {
        navigator.geolocation.getCurrentPosition(showPosition);
      } else {
        alert("Try any other browser");
      }
    }
    function showPosition(position) {
      let loc = $('[name="ot_location"]').val(position.coords.latitude+','+position.coords.longitude);
    }
    $(document).ready(getLocation);
        } else {
           $(this).closest('tr').removeClass('visitclear'); 
        }
        let userId = $(this).data('id');
         
        $.ajax({
            type: "GET",
            dataType: "json",
            url: '{{ route('users.update.visit_clear') }}',
            data: {'visit_clear': visit_clear, 'user_id': userId , 'ot_location': loc},
            success: function (data) {
            console.log(data.message);
            }
        });
    });
});

控制器

public function visitclear(Request $request)
    
    {
        $customer = Customer::findOrFail($request->user_id);
        $customer->visit_clear = $request->visit_clear;
        $customer->ot_location = $request->ot_location;
        $customer->visit_date = date('Y-m-d H:i');
        $customer->save();
        return response()->json(['message' => 'User status updated successfully.']);
    }

我想单击复选框将地理线存储在 var loc 中并使用 ajax 存储它我该怎么做?

标签: javascriptphpjqueryajaxlaravel

解决方案


在您的代码中 使用var代替并查看参考错误是否消失。所以,你 应该是 letloclet loc = $('[name="ot_location"]').val(position.coords.latitude+','+position.coords.longitude);var loc = $('[name="ot_location"]').val(position.coords.latitude+','+position.coords.longitude);


推荐阅读