jQuery双引号

时间:2009-10-25 14:25:44

标签: jquery forms quotes serialization

我有这样的表格:

<form name="myForm" action="#">
     <input type="text" name="firstField" />
     <input type="text" name="secondField" />
     <input type="submit" name="submitButton" />
</form>

我有一个ajax请求:

$('input[type="submit"]').click(function(){
       var serialized = $('form').serialize();
       //ajax request
       $.ajax({
                type : "POST",
                url : "takeAction.php",
                data : serialized,
                succes : function(){
                    alert('done');
                }
       }); 
});

问题是,如果我的任何字段值包含“'”,就像(谁是老板)我的ajax请求无法完成(我正在尝试更新mysql行但代码失败,我没有得到任何错误我的行没有更新)。我知道这是关于引用的东西,但我不知道该怎么做。感谢

1 个答案:

答案 0 :(得分:4)

问题出在服务器上的PHP代码中,而不是HTML或JavaScript中。

您可能直接将提交的数据值写入SQL查询,是吗?:

$query = sprintf("SELECT * FROM users WHERE user='%s'", $user);

您需要使用prepared statements,或使用mysql_real_escape_string()来逃避您的价值观:

$query = sprintf("SELECT * FROM users WHERE user='%s'",
                  mysql_real_escape_string($user));