我正在使用for循环& jQuery输出到html()。输出JSON响应到html div。
在for循环中,我将每个结果转换为输出变量:
$.ajax(settings).done(function(response) {
var output = "";
for (i in response.Products) {
var productID = response.Products[i].ProductId;
var OtherVariables = response.Products[i].OtherResponseFields;
output += "<Some Other Code> <script type=\"application/javascript\"> ...some code unique to each productID... </script>";
}
$("#allResults").html(output);
});
当输出变量中没有以下内容时,输出正常工作:
<script type=\"application/javascript\"> ...some code unique to each productID... </script>
但是当我根据顶级代码示例添加它时,它会中断。我正在考虑使用变量&#34; clicks_productID&#34;在添加产品和产品之前,用户可以在弹出窗口中选择产品数量。数量到我的数据库(尚未建成)。
有没有更好的方法(每个JSON返回结果需要不同 - 可以是基于提交的变量响应数量)?
答案 0 :(得分:1)
变化
<script type=\"application/javascript\">var clicks_" + productID + " = 1;var minimum = 1;function updateClickCount_" + productID + "() {if (clicks >= minimum) {document.getElementById('clickCount_" + productID + "').innerHTML = clicks_" + productID + ";} else {clicks_" + productID + " = 1;document.getElementById('clickCount_" + productID + "').innerHTML = clicks_" + productID + ";}}</script>
到
<scr" + "ipt type=\"application/javascript\">var clicks_" + productID + " = 1;var minimum = 1;function updateClickCount_" + productID + "() {if (clicks >= minimum) {document.getElementById('clickCount_" + productID + "').innerHTML = clicks_" + productID + ";} else {clicks_" + productID + " = 1;document.getElementById('clickCount_" + productID + "').innerHTML = clicks_" + productID + ";}}</scr" + "ipt>
否则解释器会认为字符串中的结束脚本标记是脚本的结尾