4

Я отправляю в ActionMethod для получения некоторых подсчетов клиентов. Сообщение отлично работает с моей локальной машины. При развертывании на другой сервер происходит сброс 404 ошибок. Мой пост ниже. Я не знаю, почему это перестало работать.jQuery Ajax post - 404 error

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

Вы используете дружественные URL, чтобы переписать путь, чтобы указать на сценарий? Если нет, вы пытаетесь отправить POST в папку. – riwalk 2010-12-07 16:29:17

ответ

6

Возможно, на другом компьютере вы развернули приложение в виртуальном каталоге, и поэтому абсолютный URL-адрес, который вы используете, не может быть найден.

Попробуйте использовать этот код вместо

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

Ваш urlStr установлен в /Items/ItemCount/. При нажатии на сервер он попытается найти эти файлы из корня (из-за первого «/»). Вы должны попытаться использовать абсолютный путь, чтобы исправить это.