相关疑难解决方法(0)

jQuery +客户端模板="语法错误,无法识别的表达式"

我刚刚将jQuery从1.8.3更新到1.9,它突然崩溃了.

这是我的模板:

<script type="text/template" id="modal_template">
    <div>hello</div>
</script>
Run Code Online (Sandbox Code Playgroud)

这就是我读它的方式:

modal_template_html = $("#modal_template").html();
Run Code Online (Sandbox Code Playgroud)

这是我如何将其转换为jQuery对象(我需要在其上使用jQuery方法):

template = $(modal_template_html);
Run Code Online (Sandbox Code Playgroud)

...和jQuery崩溃了!

错误:语法错误,无法识别的表达式:<div> hello </ div>

slice.call(docElem.childNodes,0)[0] .nodeType;

jquery-1.9.0.js(第3811行)

但是,如果我将模板声明为纯文本变量,它将再次开始工作:

var modal_template_html = '<div>hello</div>';
Run Code Online (Sandbox Code Playgroud)

任何人都可以帮我解决这个问题吗?

UPDATE:jQuery开发团队听取并改变在1.10一切恢复正常:

您可能会看到的最大变化是我们放宽了$()中HTML处理的标准,允许前导空格和换行符,就像我们在1.9版之前所做的那样

javascript jquery mustache

59
推荐指数
3
解决办法
12万
查看次数

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

我有这个JQuery Ajax表单.

$('#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);
            }
        });
    })
Run Code Online (Sandbox Code Playgroud)

在响应,当我console.log(data); in the console it shows me the responded html,但当我这样做,console.log($(data));它给了我这个错误

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

<html>
<head>
<style>
ul {
    margin: 0%; …
Run Code Online (Sandbox Code Playgroud)

javascript ajax jquery

2
推荐指数
1
解决办法
1万
查看次数

标签 统计

javascript ×2

jquery ×2

ajax ×1

mustache ×1