Javascript jQuery:serialize()函数在IE$中失败。获取请求?

Javascript jQuery:serialize()函数在IE$中失败。获取请求?,javascript,jquery,ajax,internet-explorer,Javascript,Jquery,Ajax,Internet Explorer,只是遇到了一些奇怪的事情。我有以下代码: var SubmitHandler = function( target ){ // ..... code ... // target is an html form target = $( target ); // .... code .... //send get request $.get( target.attr( "action" ), target.serialize()+"&Aja

只是遇到了一些奇怪的事情。我有以下代码:

var SubmitHandler = function( target ){
// ..... code ...

   // target is an html form
   target = $( target );

   // .... code ....

       //send get request
       $.get( target.attr( "action" ), target.serialize()+"&AjaxRequest=true", function( data ){

            //add response html to page
            ReplaceElement.html( data );
       });

 // .... code ....
好的,我看不出这段代码有什么明显的错误。基本上,我只是使用forms action属性作为URL向服务器发送jQuery get请求,使用jQuery的serialize函数序列化表单,并向生成的查询字符串追加一些内容。发送到服务器的查询字符串如下所示:

?SortBy=e.Name&SortOrder=ASC&AjaxContent=true
?&AjaxContent=true
这在除IE之外的所有浏览器中都能正常工作。在IE中,查询字符串如下所示:

?SortBy=e.Name&SortOrder=ASC&AjaxContent=true
?&AjaxContent=true
就像IE甚至没有运行target.serialize函数一样。但是,如果我使用alerttarget.serialize,我会看到预期的结果

这很奇怪,但我必须添加以下变量才能使其在IE中工作:

var SubmitHandler = function( target ){

// ..... code ...

   // target is an html form
   target = $( target );

   // .... code ....

       var targetSerialized = target.serialize();

       //send get request
       $.get( target.attr( "action" ), targetSerialized+"&AjaxContent=true", function( data ){

            //add response html to page
            ReplaceElement.html( data );
       });

 // .... code ....
有人知道为什么会这样吗

如果您想知道,我尝试了更详细的$.ajax函数,得到了相同的结果

Mmmmmm,您尝试过+&;AjaxContent=true?@Pekka刚刚尝试添加&;AjaxContent=true,IE仍然给出相同的结果,而且看起来Firefox完全删除了字符串。我的猜测是,它将amp解释为querystring变量,当它运行到分号时失败。