代码段无法正确加载

时间:2016-02-10 17:44:10

标签: javascript jquery asynchronous code-snippets

我正在尝试从数据库中检索相应的数据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>

1 个答案:

答案 0 :(得分:0)

您无法使用document.write()进行ajax调用。

document.write()将按预期工作&#34;&#34;只要文档打开。只要浏览器识别出文档已完全加载,文档就会关闭

document.write()的后续调用将替换该文档,而不是附加到该文档。

编辑:但是查看您的代码,我根本看不到document.write()