jQuery highlightTextarea脚本赢得';不能使用变量作为参数

jQuery highlightTextarea脚本赢得';不能使用变量作为参数,jquery,ajax,object,highlight,Jquery,Ajax,Object,Highlight,我有一个PHP数组中的垃圾词列表,可以根据用户输入进行检查。如果存在任何匹配项,则通过AJAX将匹配的垃圾邮件从我的PHP验证脚本发送到jQuery highlightTextarea脚本()。这个jQuery脚本应该突出显示输入文本区域中的任何垃圾词,这样用户就可以直接看到哪里出了问题。为此,脚本有一个选项“words:”,它接受您自己的垃圾邮件列表,格式如下: $(document).ready(function() { $("textarea").highlig

我有一个PHP数组中的垃圾词列表,可以根据用户输入进行检查。如果存在任何匹配项,则通过AJAX将匹配的垃圾邮件从我的PHP验证脚本发送到jQuery highlightTextarea脚本()。这个jQuery脚本应该突出显示输入文本区域中的任何垃圾词,这样用户就可以直接看到哪里出了问题。为此,脚本有一个选项“words:”,它接受您自己的垃圾邮件列表,格式如下:

$(document).ready(function() {          
    $("textarea").highlightTextarea({
        words: ["spam1","spam2", "..."]
    });
当我直接输入上面代码中的单词时,它就可以工作了,但是我想将数组(或字符串或其他任何东西)以及AJAX请求中的所有垃圾邮件单词作为参数传递给该函数。我试过这个:

$.each(msg.errors,function(k,v){
    if (k!='trash') {...} 
    else {trash = '["' + v.join('","') +'"]'}
});             
$(document).ready(function() {
    $("textarea").highlightTextarea({
    words: trash
});
textarea字段中的腐蚀词标记正确,但包含检测到的垃圾邮件词使用的任何字母的所有其他文本段落也标记正确。当我提醒字符串(或对象??)时
提醒(垃圾)我得到
[“spam1”、“spam2”]
。所以我想我可以简单地将“trash”作为参数附加在表单中:
words:trash

这与:
单词:[“spam1”、“spam2”和“…”]
显然不是。有什么建议吗

我也有同样的问题,请确保jquery中的ajax请求返回json信息,对我来说,问题是我的对象看起来像这样,确保我的post响应是json为我解决了这个问题,但下面是我看到的示例

{
   words: "["blue","red","white"]"
}
本来应该是这样的

{
   words: ["blue","red","white"]
}

您传递的是字符串,而不是数组。尝试构建一个实际的数组(可以使用
[]
push()
,也可以使用
map()
,如果您认为合适的话)@BharathRallapalli我试过
$(document).ready(函数(){$(“textarea”).highlightTextarea('words',[“spam1”,“spam2”];});
只是想看看它是否有效,但不幸的是它不起作用。脚本似乎以
单词的形式排除了其参数:[“spam1”、“spam2”和“…”]
?@FrédéricHamidi,@BharathRallapalli谢谢大家。我只需要这样做:
$(document).ready(function(){$(“textarea”).highlightTextarea({words:v};});
它一直在那里,只是没有看到。