Javascript Ajax响应上无法识别的JQuery表达式

Javascript Ajax响应上无法识别的JQuery表达式,javascript,jquery,ajax,Javascript,Jquery,Ajax,我有这个jqueryajax表单 $('#modal-body-sign-in').on('submit', '#sign-in', function(e) { e.preventDefault(); var data = $(this).serialize(); var url = $(this).attr('action'); $.ajax({ //this is the php file that pr

我有这个jqueryajax表单

$('#modal-body-sign-in').on('submit', '#sign-in', function(e) {
        e.preventDefault();
        var data = $(this).serialize();
        var url = $(this).attr('action');
        $.ajax({
            //this is the php file that processes the data and send mail
            url : url,
            type : "POST",
            data : data,
            dataType: "html",
            //Do not cache the page
            cache : false,
            //success
            success : function(data) {
                //console.log(data.content);

                console.log($(data));
                //$('#modal-body-sign-in').html(data);
            }
        });
    })
在响应上,当i console.logdata时;在控制台中,它向我显示响应的html,但当我执行此控制台时;它给了我这个错误

未捕获错误:语法错误,无法识别的表达式:

<html>
<head>
<style>
ul {
    margin: 0%;
}

ul li {
    display: inline;
    list-style-type: none;
    float: left;
}
</style>
<title>Insert title here</title>
</head>
<body>
    <!--  Ajax Container. DO NOT REMOVE THE DIV CONTENT  FOR AJAX ACCESS! -->
    <div id="content">
        <div id="modal-body">

            <form id="doLogin" name="doLogin" action="/HitPlay/doLogin" method="post">

                <fieldset>
                    <ul id="doLogin_" class="errorMessage">
            <li><span>Incorrect username or password</span></li>    </ul>

                <br/>           

                <br/>

                    <label>Username</label>                 
                    <input type="text" name="userBean.username" value="" id="doLogin_userBean_username"/>
                    <br/>
                    <label>Password</label>
                    <input type="password" name="userBean.password" id="doLogin_userBean_password"/>
                    <br />

                    <input type="submit" id="doLogin_0" value="Submit"/>

                </fieldset>
            </form>





        </div>

    </div>
</body>
</html> jquery-1.9.0.min.js:2
a.error jquery-1.9.0.min.js:2
f jquery-1.9.0.min.js:2
x jquery-1.9.0.min.js:2
a jquery-1.9.0.min.js:2
st.fn.extend.find jquery-1.9.0.min.js:2
st.fn.st.init jquery-1.9.0.min.js:1
st jquery-1.9.0.min.js:1
$.ajax.success localhost:59
f jquery-1.9.0.min.js:1
p.fireWith jquery-1.9.0.min.js:1
r jquery-1.9.0.min.js:3
r

因为我想获得响应HTML页面的一个片段,所以自从升级到jQuery 1.9.x以来,我遇到了完全相同的问题。实际上,简单的$data产生了崩溃,没有其他原因。在没有1.9之前的版本的情况下,我曾经有过几次这个问题,但我不记得它的问题

无论如何,这是一个完全阻塞的麻烦。。。仍在寻找原因和解决办法

编辑:

如果我这样做:

$.ajax('/',function(html){
  html = $('<div></div>').append(html);
  $(html);
});
它通过FF错误控制台给我一个提示:

Erreur : Error: Syntax error, unrecognized expression: <div id="...">(...)
jquery.min.js - line : 4

不管怎样,jQuery总是把我的第一个元素和第二个元素混淆起来,但至少它可以工作

如果您使用的是jQuery1.9,问题可能在于加载的内容。有一个新的更新要求响应中的第一个字符是a,将其放入一个隐藏的div中,然后选择它,或者只是从服务器发送所需的输出,或者将其解析为文本,因为数据不在DOMIf中,如果您使用类似console.log$data.findcontent.html;相反,您是否仍然会收到错误?顺便说一句,在多个地方使用变量数据是令人困惑的…可能使用success:function response{…:'-我也面临着同样的问题。在看到这篇文章后,我得到了一个答案。谢谢…:-太感谢了!这让我发疯了!哇,我已经为此工作了几个小时,在我的ajax响应中我有一个空格,这导致了这个错误。这应该被标记为答案。谢谢!非常有用。我首先更改了我的标记图版,但不是降低其可读性,我认为更可靠的解决方案是在上面的链接中推荐,将$htmlString更改为$$。ParseHTMLHTMLSTRING响应非常晚,但如果存在空白问题,为什么不使用$html呢。trim@mbuff24,给猫剥皮总是有不同的方法,但你不能真的与语言u争论文档中的sed。这很清楚。使用jQuery.parseHTML解析任意HTML。
$.ajax('/',function(html){
  $(html);
});
Erreur : Error: Syntax error, unrecognized expression: <div id="...">(...)
jquery.min.js - line : 4
$.ajax('/',function(html){
  $($.parseHTML(html));
});