我正在使用Laravel,并且正在发出AJAX请求。在成功事件中,我写道:
var name = response.filename;
var path = "<?php echo route('getImage', "name")?>";
document.getElementsByClassName("getImage")[0].setAttribute("src", path);
但在第二行中,name变量似乎被解释为文本,而不是变量。src的值是
http://localhost/bluedrive/drive/public/getimage/name;
我怎么能做到这一点?
假设javascript在您的刀片模板中,您可以执行以下操作。
var name = response.filename;
var path = "{{ route('getImage', ['image_name']) }}";
document.getElementsByClassName("getImage")[0].setAttribute("src", path.replace('image_name', name));
不过,我认为您最好的选择是在ajax响应中返回完整的图像src。所以你的控制器可能看起来像这个
Input::file('image')->move('/my/filepath', $filename);
return response()->json([
'image_url' => url('/my/filepath/' . $filename),
]);
这将返回图像的url,然后您可以在javascript中使用该url,如下所示
.success(function(response) {
document.getElementsByClassName("getImage")[0].setAttribute("src", response.image_url);
});