Я использую MVC3 / EntityFramework в качестве серверной части, интерфейс использует все мои контроллеры проекта через jquery, для публикации напрямую (с использованием $ .post) не требуется указание данных, когда вы передаете параметры, отличные от URL жёстко.
Я уже протестировал несколько символов, я даже отправил URL-адрес (этот http://www.ihackforfun.eu/index.php?title=update-on-url-crazy&more=1&c=1&tb=1&pb=1) в качестве параметра и вообще не имел проблем, хотя encodeURIComponent прекрасно работает, когда вы передаете все данные в URL-адресе (в жестком коде)
Жестко закодированный URL, т.е.>
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;
В противном случае не используйте encodeURIComponent, а вместо этого попробуйте передать параметры внутри метода ajax post
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) {.......});