[英]PHP in JavaScript and escaping
我正在使用Laravel,正在提出AJAX請求。 在成功事件中,我寫道:
var name = response.filename;
var path = "<?php echo route('getImage', "name")?>";
document.getElementsByClassName("getImage")[0].setAttribute("src", path);
但是看起來第二行上的名稱變量被解釋為文本,而不是變量。 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),
]);
這會返回圖片的網址,然后您可以在javascript中使用它,如下所示
.success(function(response) {
document.getElementsByClassName("getImage")[0].setAttribute("src", response.image_url);
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.