2016-07-28 78 views
0

我在JSString()函数的错误 - 未捕获的语法错误:之后参数列表丢失)

<script> 

    var currentLocation = window.location.href; 

    function AddCardToTrello() { 
     Trello.addCard({ 
     url: currentLocation, 
     name: String({{ soproduct.product }}), 
     due: {{ soproduct.required_date|date:"SHORT_DATE_FORMAT" }} 
    }); 
    } 

    </script> 

此功能这给了我这个错误

Uncaught SyntaxError: missing) after argument list

这是它的外观解析时像

<script> 

var currentLocation = window.location.href; 

function AddCardToTrello() { 
    Trello.addCard({ 
    url: currentLocation, 
    name: String(1 4343rfcdc 54446), 
    due: 07/30/2016 
}); 
} 

</script> 

的错误是在这一行

name: String(1 4343rfcdc 54446), 

当值为id(数字)时,它工作正常,我没有收到任何错误。

可能是什么问题?

回答

1

这个错误是因为JavaScript引擎不知道 '1 4343rfcdc 54446' 是一个字符串,所以你需要用引号包起来。如果你这样做,你不会需要String构造函数,因为它已经是一个字符串了。

Trello.addCard({ 
    url: currentLocation, 
    name: "{{ soproduct.product }}", 
    due: "{{ soproduct.required_date|date:"SHORT_DATE_FORMAT" }}" 
}); 
1

可能是这样的:

function AddCardToTrello() { 
     Trello.addCard({ 
     url: currentLocation, 
     name: String("{{ soproduct.product }}"), 
     due: "{{ soproduct.required_date|date:'SHORT_DATE_FORMAT' }}" 
    }); 

甚至

function AddCardToTrello() { 
     Trello.addCard({ 
     url: currentLocation, 
     name: "{{ soproduct.product }}", 
     due: "{{ soproduct.required_date|date:'SHORT_DATE_FORMAT' }}" 
    }); 
1

可能你缺少引号,表明它是一个字符串喜欢写东西;

name : "1 4343rfcdc 54446", 
相关问题