2015-11-22 2 views
0

Это функция JS:размещения контента HTML в контроллер метод удаляет часть контента

var onContentChange = function() { 
     var content = 
      $("#blogpost-content").data("kendoEditor").value($("#value").val()); 
     console.log(content); 
     $http.post("/Map/SaveBlogPostContent?destinationId=" + 
      $("#currentDestinationId").val() + 
      "&blogPostId=" + $("#currentBlogPost").val() + "&content=" + content) 
       .then(onSaveBlogPostContent, onError); 
    } 

Этот метод вызывается по изменению текстового поля. Когда он попадает в console.log, он выписывает правильный текст, который в настоящее время находится в текстовом поле, но когда он отправляет данные в мой метод контроллера, он получает только немного контента. Почему это?

ответ

0

Это вполне возможно, у вас есть «недопустимые символы» в вашем текстовом поле, попытайтесь избежать переменного контента, измените его следующим образом:

var onContentChange = function() { 
    var content = $("#blogpost-content").data("kendoEditor").value($("#value").val()); 
    console.log(content); 
    $http.post("/Map/SaveBlogPostContent?destinationId=" + encodeURIComponent($("#currentDestinationId").val()) + "&blogPostId=" + encodeURIComponent($("#currentBlogPost").val()) + "&content=" + encodeURIComponent(content)) 
      .then(onSaveBlogPostContent, onError); 
} 

В encodeURIComponent() является важной частью там.

0

Поскольку это сообщение, а не сообщение, существуют ограничения на длину данных, которые вы можете отправить в запрос на получение, это будет зависеть от браузера. вы также хотите удостовериться, что у вас нет символов, которые нужно избегать. например. хартии, используемые в URL-адресе, например? или & или /. вы можете избежать этого, используя.

var contentToPass = encodeURIComponent(content); 

посмотреть здесь encodeURIComponent

0

Попробуйте это:

var onContentChange = function() { 
    var content = 
    $("#blogpost-content").data("kendoEditor").value($("#value").val()); 
    console.log(content); 
    $http.post("/Map/SaveBlogPostContent", { 
     destinationId: $("#currentDestinationId").val(), 
     blogPostId: $("#currentBlogPost").val(), 
     content: content 
    }).then(onSaveBlogPostContent, onError); 
} 
Смежные вопросы