laravel ajax追加并不起作用

时间:2017-08-01 10:30:16

标签: php ajax laravel

这是我的ajax代码。我正在使用laravel 5.4而且我不知道为什么追加不起作用的问题。

$(document).ready(function(){
     $(document).on('change','#product_category',function(){
         var cat_id = $(this).val();
         $.ajax({
             type:'get',
             url:'{!!URL::to('findProductName')!!}',
             data:{'id':cat_id},
             success:function(data){
             console.log('success');
             console.log(data);
             //console.log(data.length);
             var op = "";
             op+='<option value="0" selected disabled>Choose Product</option>';
             for(var i=0; i<data.length; i++){
                op+='<option value="'+data[i].id+'">'+data[i].name+'</option>';
             }
             var div = $(this).parent();
             div.find('.choice').html(" ");
             div.find('.choice').html(op);
           },
           error:function(){
           }
         });
      });
 });

3 个答案:

答案 0 :(得分:1)

在这里找到第一眼的错误

url:"{!!URL::to('findProductName')!!}",

引用错误

答案 1 :(得分:0)

要将变量传递给JavaScript脚本,您应该在加载实际的ajax脚本之前将值分配给全局变量

进入刀片模板:

&#13;
&#13;
<script>
  var toUrl = "{!! URL::to('findProductName') !!}";
</script>

<script type="text/javascript" src="path/to/ajax/script.js"></script>
&#13;
&#13;
&#13;

然后在您的脚本中,您可以执行以下操作:

{
  ...
  url: toUrl,
  ...
}

或者您可以使用laravel库将JavaScript值绑定到Transform PHP Vars to JavaScript

之类的视图

答案 2 :(得分:0)

放入

$ajax({
...
async : false
..})