2

我正在玩codeigniter和jquery,我试图从mysql中获取一些文本并将其插入到<P>标签中。当我只是说“hello world”时,该方法有效,但是当它从 SQL 中获取文本并将其插入时,我得到一个未确定的字符串文字错误。这是我的代码:

$('#register').click(function(){
  <?
    $query = $this->db->get_where('eula', array('id'=>'1'));
    $result = $query->result();
    $eula = (string)$result[0]->eula;
    echo '$(\'#eulaText\').append(\''.$eula.'\'\);';
  ?>
    console.log("$string=".$string);
});

我在 sql 中有一个 lorum ipsum 字符串,我想插入到页面中。

我可以使用一些建议,我为草率的代码道歉。

4

1 回答 1

0

我的怀疑是你在返回的 php 变量中有一个字符,它终止你的 javascript 字符串。您正在传递一个单引号字符串(当页面加载并评估 javascript 时),如果该 php 变量(eula)包含一个单引号,它将终止传递给 append() 方法的字符串,从而导致“eula”的其余部分被评估为 JavaScript 代码。

我已经按照我在这个 stackoverflow 帖子中提供的示例解决了这个问题:

jQuery 前置 php 代码块

它可能不是最好的解决方案,但它确保传递给 append() 的 javascript 字符串文字不会包含任何可能终止它的非法字符。

于 2013-04-13T23:00:08.463 回答