这是我的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(){
}
});
});
});
答案 0 :(得分:1)
在这里找到第一眼的错误
url:"{!!URL::to('findProductName')!!}",
引用错误
答案 1 :(得分:0)
要将变量传递给JavaScript脚本,您应该在加载实际的ajax脚本之前将值分配给全局变量。
进入刀片模板:
<script>
var toUrl = "{!! URL::to('findProductName') !!}";
</script>
<script type="text/javascript" src="path/to/ajax/script.js"></script>
&#13;
然后在您的脚本中,您可以执行以下操作:
{
...
url: toUrl,
...
}
或者您可以使用laravel库将JavaScript值绑定到Transform PHP Vars to JavaScript
之类的视图答案 2 :(得分:0)
放入
$ajax({
...
async : false
..})