gpt4 book ai didi

javascript - 当使用 ajax 将函数作为字符串接收时,为什么要在参数字符串中添加额外的“空格”?

转载 作者:行者123 更新时间:2023-12-02 17:53:39 25 4
gpt4 key购买 nike

我正在使用ajax获取StateName和StateID并显示带有接收到的StateName的图片。单击该图片将调用 JavaScript 函数 callState(id,state_name)。我的问题是,如果 state_name = "Tamil Nadu" 是收到的值,则该函数将不会调用。我开始知道问题出在间距上。从控制台我了解到该函数以以下形式调用: callState(1,'Tamil"Nadu'); - 泰米尔语和 Nadu 之间有一个额外的 " 空格.

下面是我的代码,ajax 重定向到processing_search_state.jsp 页面,我在其中处理并获取数据。

responce = responce
+ "<figure> <a href='#'> <img src=../images/tim1.jpg alt='' onclick=callState("
+ id + ",'" + state_name + "')></a> <figcaption>"
+ state_name + "</figcaption></figure>";

AJAX:

if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
alert("Received Data" + xmlhttp.responseText);
document.getElementById("sLocfigID").innerHTML = xmlhttp.responseText;
}

警报:收到的数据将正确打印,不会出现任何问题。以下是警报

<figure> <a href='#'> <img src=../images/timl.jpg alt="
onclick=callState(2,'tamil nadu')</a> <figcaption>tamil
nadu</figcaption> </figure>

但在控制台上的值为:

<figure> <a href="#"> <img src="../images/tim1.jpg" alt="" onclick="callState(2,'tamil" nadu')=""></a> <figcaption>tamil nadu</figcaption></figure>

供您引用:如果 state_name = Goastate_name = Kerala 这些代码工作正常,因为这些是一个单词或其中没有空格的单词。它成功调用了 callState() 函数。

最佳答案

Rafa 是正确的,您在 HTML 属性周围缺少引号,但这只会导致 onclick 周围缺少引号而出现问题。属性,而不是 src (因为可以使用不带引号的属性,这些属性的值中没有空格)。

在此处添加转义双引号 ( \" ) onclick=callState(" ,像这样:

onclick=\"callState("

这里"')></a> <figcaption>"像这样:

"')\"></a> <figcaption>"

关于javascript - 当使用 ajax 将函数作为字符串接收时,为什么要在参数字符串中添加额外的“空格”?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21154265/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com