簡體   English   中英

將服務器返回的字符串分配給javascript字符串最簡單的方法是什么?

[英]What's the easiest way to assign a string returned from the server to a javascript string?

以下內容不起作用:

var js_str= '<?php echo $str_from_server; ?>';

問題是$ str_from_server可以包含任何字符。 如果它包含單引號或換行符或其他,則以上代碼將中斷。 而且我無權訪問服務器端代碼。 將$ str_from_server的內容“轉義”為javascript字符串,然后可以在以后還原的最簡單方法是什么?

由於您直接將該變量回顯到JavaScript代碼,因此可以使用json_encode函數:

var js_str = <?php echo json_encode($str_from_server); ?>;

它將為您安全地轉義報價,例如:

<?
  $str ='"\'"\'"\'"';
  echo  json_encode($str); // "\"'\"'\"'\""

我會做:

var js_str= '<?= addslashes($str_from_server); ?>';

要么:

var js_str= '<?= str_replace("'", "\'", $str_from_server); ?>';

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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