Jquery ajax调用’+’符号

$.ajax({ type: "POST", url: baseURL+"sys/formTipi_azioni",data:"az_tipo="+azione, beforeSend: function(){$("#form").html('

loading

');}, success: function(html){$("#form").html(html);} });

azione是有一个例子

 TB+ 

加号根本没有张贴,发送空白区域。 我已经尝试过了:

 azione = escape(String(azione)); 

没有运气。 有谁知道如何解决这个问题?

 azione = escape(String(azione)); 

应该

 azione = encodeURIComponent(String(azione)); 

或简单地说

 azione = encodeURIComponent(azione); 

试试这个:

 $.ajax({ type: "POST", url: baseURL + "sys/formTipi_azioni", data: { az_tipo: azione }, beforeSend: function(){ $("#form").html('

loading

'); }, success: function(html){ $("#form").html(html); } });

并让jQuery为你做url编码。

永远不要使用escape() 。 使用encodeURIComponent()

你也可以让jQuery通过传递一个对象来完成工作,而不是试图自己编写post数据:

 $.ajax({ type: "POST", url: baseURL+"sys/formTipi_azioni", data: {az_tipo: azione}, beforeSend: function(){$("#form").html('

loading

');}, success: function(html){$("#form").html(html);} });

您正在寻找encodeURIComponent

 escape(String(azione)).replace(new RegExp( "\\+", "g" ),"%2B"); 

这个在正则表达式的帮助下发送加号