我正在尝试从数据库中检索相应的数据ID后,将评论片段添加到网页中。不幸的是,如果我添加如下所示的代码段,则代码段无法正常工作。如果它在html中是硬编码的,那么该代码段工作正常,但如果我在javascript中添加它或者如果我将片段没有数据ID,然后尝试使用正确的id附加data-id属性,则无法正常工作。
我已尝试在div的位置旁边的脚本中将我的ajax调用加载到数据库,然后只使用document.write()
但没有成功。正在使用的代码段是Mobials的评论摘要。
非常感谢帮助。
<div id="mobials"> </div>
<script type="text/javascript" src="//api.mobials.com/assets/js/api/v1.js"></script>
<script type="text/javascript" src="https://mobials.com/assets/js/api/review.min.js"></script>
function Submit() {
if (validateInputs()) {
$.ajax({
type: "GET",
url: "@ViewBag.urlApi" +"LocationDetails?zipcode=" + $("#ZipCodeLoc").val() + "&format=JSON&authoriazation={"+"@ViewBag.ApiKey"+"}",
dataType: "jsonp",
traditional: true,
success: function (data) {
$("#events").empty();
$("#logos").empty();
$("#openingHours").empty();
locationDetails = JSON.parse(data);
//Customer Reviews
var isMobial = false;
$.each(locationDetails.Reviews, function (key, value) {
if(key == "Type" && value == 1){
isMobial = true;
$("#consumerAffairs").hide();
}
if(key == "ReviewCode" && isMobial){
var mob = document.getElementById("mobials");
mob.innerHTML += '<div class="mobials-root" data-id="'+value.reviewcode+'" data-language="en" data-type="badge" data-size="200"></div>';
}
});
}};
}
}
编辑:我的.html中的这一行:
<div class="mobials-root" data-id="someId" data-language="en" data-type="badge" data-size="200"></div>
加载时看起来像这样:
<div class="mobials-root" data-id="someId" data-language="en" data-type="badge" data-size="200" data-tracker="1" id="mobial-root-1"><img src="https://s3.amazonaws.com/mobials.com/api/badges/read_reviews/en/174_174_4.7_70.png"></div>
答案 0 :(得分:0)
您无法使用document.write()
进行ajax调用。
document.write()
将按预期工作&#34;&#34;只要文档打开。只要浏览器识别出文档已完全加载,文档就会关闭。
对document.write()
的后续调用将替换该文档,而不是附加到该文档。
编辑:但是查看您的代码,我根本看不到document.write()
。