簡體   English   中英

JavaScript中的PHP和轉義

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM