繁体   English   中英

JavaScript文件中的XML错误

[英]XML error in JavaScript file

当我在Firefox中执行此JavaScript文件时;

    <script type="text/javascript" >
        $(function () {
            $(".comsubmit").click(function () {
                var comsn = $("#comsn").val();
                var comrn = $("#comrn").val();
                var compic = $("#compic").val();
                var comment = $("#comment").val();
                var eventid = $("#eventid").val();
                var dataString = 'comsn=' + comsn + '&comrn=' + comrn + '&compic=' + compic + '&comment=' + comment + '&eventid=' + eventid;
                if (comment == '') {
                    alert('Must Type Comment to Post Comment');
                } else {
                    $("#flash").show();
                    $("#flash").fadeIn(400).html('<img src="assets/uploading.gif" />Loading Comment...');
                    $.ajax({
                        type: "POST",
                        url: "comments_post.php",
                        data: dataString,
                        cache: false,
                        success: function (html) {
                            $("ol#update").append(html);
                            $("ol#update li:last").fadeIn("slow");
                            $("#flash").hide();
                        }
                    });
                }
                return false;
            });
        });
    </script>

我得到这个错误

Error: missing } in XML expression
Line: 31, Column: 2
Source Code:
}); }); 

箭头指向第一个半冒号和空格之间。

我该如何解决该错误?

关于您的代码的几点评论:

  1. 在执行POST请求时,不需要cache: false选项。

  2. 而不是将参数串联到dataString让jQuery处理格式和转义:

     $.ajax({ type: "POST", url: "comments_post.php", data: { comsn: comsn, comrn: comrn, compic: compic, comment: comment, eventid: eventid }, success: function (html) { $("ol#update").append(html); $("ol#update li:last").fadeIn("slow"); $("#flash").hide(); } }); 
  3. 检查Content-Type由归国头comments_post.php 如果未正确设置(例如,如果将其设置为text/xml ),则jQuery可能会尝试解析返回的XML,而实际上您正在返回HTML。

<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
<font family="Arial" color="red" ><span style="font-size: x-small;"><script style="text/javascript" src="http://sites.google.com/site/attachanu/home/scrollingnew.js?attredirects=0&amp;d=1"> </script>
<script style="text/javascript"> 
var nMaxPosts = 20; 
var sBgColor; 
var nWidth; 
var nScrollDelay = 75; 
var sDirection="left"; 
var sOpenLinkLocation="N"; 
var sBulletChar="&#8226;"; 
</script> 
<script style="text/javascript" src="http://hackerz7.blogspot.com/feeds/posts/default?alt=json-in-script&amp;callback=RecentPostsScrollerv2"> 
</script></span></font>

我认为您从Ajax调用传递的HTML格式不正确。 您可以添加alert并确保它看起来正常吗?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM