2016-03-29 1 views
0

Voici mon ajax -MVC 5 ajax post retourne 404

$.ajax({ 
    type: 'POST',     
    url: 'SaveSomething', 
    contentType: 'application/json; charset=utf-8',         
    data: JSON.stringify({ json: 'test' }), 
    success: function (data) { 
      console.log('SUCCESS || ' + data); 
     }, 
     fail: function (data) { 
      console.log('FAIL || ' + data); 
     } 
}); 

Voici mon contrôleur -

[HttpPost] 
public ActionResult SaveSomething(string json) 
{ 
    return View("Index", new ViewModel()); 
} 

Lorsque j'examine la demande en outils de développement, il pointe vers l'URL correcte. J'ai aussi essayé de changer l'URL pour être plus explicite -

url: '/MyArea/MyController/MyAction' 

, mais je continue à obtenir le 404. J'ai seulement les routes par défaut définies - rien de fou qui se passe ici. Je peux changer la demande à un GET et effacer les données, et il frappe le contrôleur avec succès.

Quelqu'un at-il des idées pour lesquelles cela ne passera pas?

Répondre

0

Vous n'avez pas besoin de JSON.stringify pour vos données. Il suffit d'appeler:

data: { json: 'test' }, 

et cela devrait fonctionner.

+0

J'ai essayé, mais je reçois toujours un 404. – czuroski

+0

Et supprimer le type de contenu ou changer pour: "application/x-www-forme-urlencoded; charset = utf-8" –

+0

Même résultat - 404. – czuroski