双引号被替换为 &quote;

4

我的 JavaScript 变量包含一个字符串:

{"start":{"lat":19.0759842,"lng":72.87765630000001},"end":{"lat":18.5206624,"lng":73.8567415},"waypoints":[[18.8753235,73.52948409999999]]}

但是当我将其显示在HTML组件中时,它看起来像这样:
{"start":{"lat":19.0759842,"lng":72.87765630000001},"end":{"lat":18.5206624,"lng":73.8567415},"waypoints":[[18.8753235,73.52948409999999]]}

那问题是什么? - Sarjan Desai
这可能会有所帮助 https://dev59.com/imgv5IYBdhLWcg3wSe0f - Let me see
双引号会被转换为 ",这是一个问题。 - chaitanya dalvi
4个回答

5

将字符串输出为HTML格式,而不是纯文本,以便正确呈现HTML实体"

var s = "{"start":{"lat":19.0759842,"lng":72.87765630000001},"end":{"lat":18.5206624,"lng":73.8567415},"waypoints":[[18.8753235,73.52948409999999]]}";

//Incorrect with jQuery
$("#incorrect-jquery").text(s);

//Correct with jQuery
$("#correct-jquery").html(s);

//Incorrect with plain JavaScript
document.getElementById("incorrect-js").textContent = s;

//Correct with plain JavaScript
document.getElementById("correct-js").innerHTML = s;
div {
  margin-bottom: 20px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<strong>Incorrect with jQuery</strong>
<div id="incorrect-jquery"></div>

<strong>Correct with jQuery</strong>
<div id="correct-jquery"></div>

<strong>Incorrect with plain JavaScript</strong>
<div id="incorrect-js"></div>

<strong>Correct with plain JavaScript</strong>
<div id="correct-js"></div>


2

var text1 = '{&quot;start&quot;:{&quot;lat&quot;:19.0759842,&quot;lng&quot;:72.87765630000001},&quot;end&quot;:{&quot;lat&quot;:18.5206624,&quot;lng&quot;:73.8567415},&quot;waypoints&quot;:[[18.8753235,73.52948409999999]]}';
var text2 = text1.replace(/&quot;/g, '\"');

alert('Your data\n' + text1);

alert('Required data\n' + text2);


0
如果您正在尝试在Laravel的视图模板中显示JSON数据,请尝试以下方法:
使用以下代码:

<php echo $data ?>

或者
使用以下代码:

@php echo $data; @endphp 代替 {{ $data }}


-1
使用 decodeURI JavaScript 函数来展示示例。
var s= decodeURI('your string');

1
这不是一个URI;&quot;是一个HTML实体。 - Drew Gaynor

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接