Estoy usando MVC3 / EntityFramework como back-end, el front-end consume todos mis controladores de proyecto a través de jquery, publicar directamente (usando $ .post) no requiere la encriptación de datos, cuando pasas parámetros directamente que no sean URL codificados. Ya probé varios caracteres, incluso envié una URL (esta http://www.ihackforfun.eu/index.php?title=update-on-url-crazy&more=1&c=1&tb=1&pb=1 ) como parámetro y tenía no hay ningún problema a pesar de que encodeURIComponent funciona muy bien cuando pasa todos los datos dentro de la URL (codificado)
URL codificada, es decir>
var encodedName = encodeURIComponent(name);
var url = "ControllerName/ActionName/" + encodedName + "/" + keyword + "/" + description + "/" + linkUrl + "/" + includeMetrics + "/" + typeTask + "/" + project + "/" + userCreated + "/" + userModified + "/" + status + "/" + parent;; // + name + "/" + keyword + "/" + description + "/" + linkUrl + "/" + includeMetrics + "/" + typeTask + "/" + project + "/" + userCreated + "/" + userModified + "/" + status + "/" + parent;
De lo contrario, no use encodeURIComponent e intente pasar parámetros dentro del método de publicación ajax
var url = "ControllerName/ActionName/";
$.post(url,
{ name: nameVal, fkKeyword: keyword, description: descriptionVal, linkUrl: linkUrlVal, includeMetrics: includeMetricsVal, FKTypeTask: typeTask, FKProject: project, FKUserCreated: userCreated, FKUserModified: userModified, FKStatus: status, FKParent: parent },
function (data) {.......});
$.param
.