2015-04-13 2 views
0

Я хочу получить доступ к блоку запроса jQuery ajax для получения значения для моего действия контроллера asp.net mvc 5. зная, что я проезжаю __RequestVerificationToken с успехом.чтение значений тела запроса ajax по имени с помощью asp.net mvc 5 action controller

<script> 
$(document).ready(
     function() { 
      $("#renamedashboard").click(function() { 
       swal({ 
        title: "Titre Dashboard", 
        text: "Saisir le nouveau titre:", 
        type: "input", 
        showCancelButton: true, 
        closeOnConfirm: false, 
        animation: "slide-from-top", 
        inputType : "text" 
       }, 
       function (inputValue) 
       { 
        if (inputValue === false) 
         return false; 
        if (inputValue === "") 
        { 
         swal.showInputError("You need to write something!"); 
         return false 
        } 
        alert(inputValue); 
        var form = $('#__AjaxAntiForgeryForm'); 
        //form.append('<input type="hidden" name="name" value=' + inputValue + ' />'); 
        var token = $('input[name="__RequestVerificationToken"]', form).val(); 
        $.ajax({ 
         url: ($(this).data('url')),// i tried to do ($(this).data('url'))+'?name='+inputValue but i got undefined id 
         type: "POST", 
         data: { 
          name: inputValue, 
          __RequestVerificationToken: token 
         }, 
         success: SuccessCallback, 
         error: FailureCallback 
        }); 
       }); 
       function SuccessCallback(data) { 
        swal({ 
         title: "Opération réussie", 
         type: "success" 

        }, function() { 
         NProgress.done(); 
         location.reload(); 
        }); 
       } 
       function FailureCallback(data) { 
        swal("Good job!", "You clicked the button!", "error"); 
        NProgress.done(); 
       } 

      });}); 

вот мой контроллер

 [HttpPost] 
    [ValidateAntiForgeryToken] 
    // POST: Dashboard/Rename/5 
    public async Task<ActionResult> Rename(int id,[System.Web.Http.FromBody] string name) 
    { 
     Dashboard dashboard = await dbs.Dashboards.FindAsync(id); 
     //dashboard.Visible = true; 
     dashboard.TitreD = name.ToString(); 
     dbs.Entry(dashboard).State = EntityState.Modified; 
     await dbs.SaveChangesAsync(); 
     return Json(new { success = true }); 
    } 

я есть скрытые формы на мой взгляд

@using (Html.BeginForm(null, null, FormMethod.Post, new { id = "__AjaxAntiForgeryForm" })){ 
@Html.AntiForgeryToken() 
} 

содержание тела
имя | тест
__RequestVerificationToken | лексема

ответ

0

фиксированные моя проблема в том, что ($(this).data('url')) не дает правильный URL, потому что это не ВЕ $("#renamedashboard"), который имеет правильный URL

<a id="renamedashboard" href="#" [email protected]("Rename", "Dashboard",new {id=activedashboard.Idd}) > 
+0

Я не знаю, что такое ты так сказал -1 – Sn0opr