Javascript 使用Ajax的Html动态内容

Javascript 使用Ajax的Html动态内容,javascript,html,dynamic,Javascript,Html,Dynamic,我是一名web开发新手,刚刚开始学习ajax请求和动态内容创建 我在加载和解析数据方面没有问题。加载数据后,我动态创建多行,表示数组的每个元素(ajax请求的响应): 我的绳子变长了,我听不懂。我还检查了解析器是否返回正确的值。我认为动态创建的行的click函数将字符串转换为long function callJs(itemId) { alert(itemId); // prints 8551111103110325e+25 alert(itemId.toString())

我是一名web开发新手,刚刚开始学习ajax请求和动态内容创建

我在加载和解析数据方面没有问题。加载数据后,我动态创建多行,表示数组的每个元素(ajax请求的响应):

我的绳子变长了,我听不懂。我还检查了解析器是否返回正确的值。我认为动态创建的行的click函数将字符串转换为long

function callJs(itemId) {
     alert(itemId); // prints  8551111103110325e+25
     alert(itemId.toString()); // prints 8551111103110325e+25
}
如您所见,在迭代器循环中,我打印每行的itemId,打印右值(85511111031103236921544356):

我在任何地方都找不到任何解决办法。我想把每一行的id传递给我的函数

任何解决办法都让我很高兴

提前感谢。

在这行:

"onclick='callJs("+ dict.get('itemId') +");'>"  +
生成的Html如下所示:

"onclick='callJs(11111112222222);'>"
"onclick='callJs(\""+ dict.get('itemId') +"\");'>" + 
因此,
callJs
是用整数参数调用的

您需要将行更改为以下内容:

"onclick='callJs(11111112222222);'>"
"onclick='callJs(\""+ dict.get('itemId') +"\");'>" + 
这将导致生成此HTML:

"onclick='callJs("11111112222222");'>"
这里,
callJs
是用字符串参数调用的

通常,在生成动态HTML时,必须确保生成的HTML是正确的。大多数情况下,这意味着检查在代码中应该有“<代码>”/<代码>和“代码>”< /代码>字符,并确保这些字符不会终止在错误的地方(例如,在字符串的中间)。

有一些工具可以帮助您做到这一点。例如,请参阅firefox,或其他浏览器中的各种内置工具。

在这一行中:

"onclick='callJs("+ dict.get('itemId') +");'>"  +
生成的Html如下所示:

"onclick='callJs(11111112222222);'>"
"onclick='callJs(\""+ dict.get('itemId') +"\");'>" + 
因此,
callJs
是用整数参数调用的

您需要将行更改为以下内容:

"onclick='callJs(11111112222222);'>"
"onclick='callJs(\""+ dict.get('itemId') +"\");'>" + 
这将导致生成此HTML:

"onclick='callJs("11111112222222");'>"
这里,
callJs
是用字符串参数调用的

一般来说,当生成动态HTML时,必须确保HTML的形成是正确的。这主要意味着检查在代码中应该有解释为字符串的“<代码> > <代码>和<代码>”< /代码>字符,并确保这些字符不会终止在错误的地方(例如,在字符串的中间)。


有一些工具可以帮助您实现这一点。例如,请参阅firefox或其他浏览器中的各种内置工具。

我认为问题在于如何构造调用。只要改变这个:

"onclick='callJs('"+ dict.get('itemId') +"');'>" +

看看引号(”+,这里是“)+

我认为问题在于如何构造调用。只要改变这个:

"onclick='callJs('"+ dict.get('itemId') +"');'>" +

看看引号(”+,这里是“)+

我刚刚指出了缺少的引号,这个答案更好地解释了为什么你需要引号。我刚刚指出了缺少的引号,这个答案更好地解释了为什么你需要引号