【问题标题】:Pass multiple variables via Ajax url通过 Ajax url 传递多个变量
【发布时间】:2018-09-03 13:02:07
【问题描述】:

我尝试通过 Ajax 将我的视图中的 2 值发送到控制器并在 laravel 中取回它们的结果,

这是我的script:

<script>
  $(document).ready(function() {
    $('body').on('change', '#statehidden', function(e){
      $.ajaxSetup({
          headers: { 'X-CSRF-TOKEN': $('meta[name="_token"]').attr('content') }
      });

       var cityname = $("#cityename").val();
       var statename = $("#statename").val();

      $.ajax({
        url: '{{ url('getcityandstate') }}/'+encodeURI(statename)'/'+encodeURI(cityname),
        type: "GET",
        dataType: "json",
        success:function(data) {
          // $('#statehidden').empty();
          // $('#statehidden').append(data);
          alert('worked');
        }
      });
    });
  });
</script>

我的route:

Route::get('/getcityandstate/{statename}/{cityname}','CartController@flatshippingcostincart');

我的controller:

public function flatshippingcostincart(Request $request, $statename,$cityname) {
      $state = $request->statename;
      $city = $request->cityname;
      $shipping = Shipping::where('state', '=', $state)->where('city', '=', $city)->first();
      return response()->json($shipping);
}

错误

in console

SyntaxError: missing } after property list[Learn More] //in line 1200
note: { opened at line 1199, column 15 //in line 1199

debugger

line 1199 = $.ajax({
line 1200 = url: 'http://domain.../getcityandstate/'+encodeURI(statename)'/'+encodeURI(cityname),

问题

  1. 如何将var statename 和var cityname 附加到我的网址?
  2. 我的$.ajax({ 似乎已关闭,为什么我收到SyntaxError: missing } after property list 错误?

【问题讨论】:

  • 转义引号'{{ url(\'getcityandstate\') }}/'
  • @RahilWazir 不是这样,我收到此错误Parse error: syntax error, unexpected ''getcityandstate\')); ?&gt;/'' (T_CONSTANT_ENCAPSED_STRING), expecting identifier (T_STRING)
  • 我假设函数 url() 是由 PHP 执行的,如果没有 PHP 标签它会如何解释?
  • 是的。尝试关注url: "{{ url('getcityandstate') }}/"+encodeURI(statename)+'/'+encodeURI(cityname),。在encodeURI(statename) 之后,您还缺少 JS 连接 +
  • @mafortis 我的代码没有错误。唯一的更改是添加+

标签: php ajax laravel


【解决方案1】:

向您发送的 ajax 对象添加数据项。
Data:{"key:"value","key":"value"}
确保您向您的服务器发送发布请求..

如果你坚持使用 get 向服务器发送数据,你必须重写 url,比如

var item="mini",qty=2
then url:'www.yoursite.com?item="+item+"&quantity="+qty+"

【讨论】:

  • 发帖?我尝试根据我的信息获取数据库,而不是将它们发送到数据库中。你确定吗?
  • 那我也应该改变路线吗?
  • 如果您使用 post 是的,只是不要重写 url 并使用类型 post,
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-04-01
  • 2017-04-03
  • 1970-01-01
  • 1970-01-01
  • 2018-10-22
  • 1970-01-01
  • 2011-11-03
相关资源
最近更新 更多