4

我发布到ActionMethod以检索一些客户数量。该帖子从我的本地机器正常工作。当部署到另一台服务器时,它会抛出404错误。我的帖子在下面。我不知道为什么这个停止工作。jQuery Ajax post - 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

使用友好的URL改写为指向脚本的路径吗?如果没有,则试图将POST提交到一个文件夹。 – riwalk 2010-12-07 16:29:17

回答

6

可能在另一台机器上,您已将应用程序部署在虚拟目录中,因此无法找到您正在使用的绝对网址。

尝试使用此代码,而不是

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

urlStr设置为/Items/ItemCount/。当推送到服务器时,它将尝试从根目录查找这些文件(因为第一个'/')。你应该尝试使用绝对路径来解决这个问题。