4

Je poste sur une méthode ActionMethod pour récupérer des comptes clients. La publication fonctionne très bien avec ma machine locale. Lorsqu'il est déployé sur un autre serveur, il lance des erreurs 404. Mon message est ci-dessous. Je ne sais pas pourquoi cela a cessé de fonctionner.jQuery Ajax post - Erreur 404

var urlStr = "/Items/ItemCount/";      
       jQuery.ajax({ 
        type: 'POST', 
        dataType: 'json', 
        url: urlStr, 
        async: false, //wait on the result to be returned...      
        success: function (DocData) { 
         window.currentCount = DocData[0]; 
         window.maximumAllowed = DocData[1]; 
        }, 
        cache: false, 
        error: function (request, status, error) { 
         alert(request.responseText); 
        } 
       }); 

<HttpPost()> _ 
    Function ItemCount() As JsonResult 

     Dim Items As List(Of MyItems) = GetItems() 
     Dim Total As Integer = Items .Count    
     Dim Max = 5 
     Dim Data As New ArrayList 
     Data.Add(TotalDocs) 
     Data.Add(MaxDocs) 
     Return Json(Data) 
    End Function 
+0

Utilisez-vous URL convivial pour réécrire le chemin pour pointer vers un script? Sinon, vous essayez de soumettre un POST à ​​un dossier. – riwalk

Répondre

6

Sur l'autre ordinateur, vous avez probablement déployé l'application dans un répertoire virtuel. L'URL absolue que vous utilisez n'a donc pas pu être trouvée.

Essayez d'utiliser ce code à la place

var urlStr = '<%: Url.Content("~/Items/ItemCount") %>'; 
1

Votre urlStr est réglé sur /Items/ItemCount/. Quand il est poussé vers un serveur, il essaie de rechercher ces fichiers depuis la racine (à cause du premier '/'). Vous devriez essayer d'utiliser un chemin absolu pour résoudre ce problème.