2017-05-18 2 views
0

Ich habe ein Problem mit meinem Modelbinding und ich kann nicht herausfinden, warum es nicht funktionieren würde. Heres der Controller:MVC Modelbinding jQuery Ajax

public class ItemListController : Microsoft.AspNetCore.Mvc.Controller 
{ 

    [HttpPost] 
    public async Task<IActionResult> Create(string name) 
    {   
     return View(); 
    } 

} 

dies ist die Javascript

var myObject = JSON.stringify("{Name: 'Test'}"); 

    var dataobject = 
    $.ajax({ 
     type: "POST", 
     url: "/ItemList/Create", 
     data: myObject, 
     contentType: "application/json; charset=utf-8", dataType: "json", 
     success: successFunc, 
     error: errorFunc 
    }); 

    function successFunc(data, status) { 
     alert(data); 
    } 

    function errorFunc() { 
     alert('error'); 
     console.log(JSON.stringify({ a: myData })); 
    } 
}); 

Wenn versucht fast alles gelesen ive. Kann mir jemand bitte mitteilen, warum die Bindung nicht stattfindet?

Antwort

1

Sie können es tun, ohne JSON.stringify:

$.ajax({ 
    type: "POST", 
    url: "/ItemList/Create", 
    data: {Name: 'Test'}, 
    contentType: "application/json; charset=utf-8", dataType: "json", 
    success: successFunc, 
    error: errorFunc 
}); 

function successFunc(data, status) { 
    alert(data); 
} 

function errorFunc() { 
    alert('error'); 
    console.log(JSON.stringify({ a: myData })); 
} 
+0

leider nicht ... auch versucht { 'Name': 'test'} {Name: Test} und so weiter – ChrisG

+0

müssen Sie datatype entfernen: „json "weil die Aktion eine Sicht (html) zurückgibt json –

+0

funktioniert immer noch nicht der String-Name ist null – ChrisG