jquery序列化

时间:2012-12-05 04:14:03

标签: jquery forms serialization

在我的表单中,我有一个文本字段,其中包含> 2012-01-01< 2012-02-01等数据 但是当我序列化表单并发布数据时,该字段只有> 2012-01-01而不是< 2012-02-01。

它去了哪里?

$("#grouppositionsform").live("submit",function(e){ 
    e.preventDefault();
    $('body').addClass('wait');
    $.post("/page.php",$(this).serialize(), function(data){
        $('.showdirectory').fadeOut('slow', function() {
            $(".showdirectory").html(data);
            $(".showdirectory").fadeIn("slow");              
        });
  }).error(function() { 
    //alert("error"); 
  }).complete(function() { 
    //alert("complete"); 
    $('body').removeClass('wait');
  });
});

1 个答案:

答案 0 :(得分:1)

答案是,joomla接受了这个角色并拒绝了它并且没有解析它。 所以jquery很好并且发布了数据,但是joomla有一个函数可以确保返回的数据是安全的。

所以当我检查$ _POST [" searchstring"];所有的数据都在那里。

当我使用JRequest :: getVar(" searchstring", - 1)时;它保护我并删除<。

正如Joomla在这里解释的那样:http://docs.joomla.org/Secure_coding_guidelines 并且我更改了getVar以允许数据通过。

所以这对我有用。 $ sstr = JRequest :: getVar(" searchstring",' -1',' REQUEST',' STRING',JREQUEST_ALLOWRAW);