jQuery Ajax post - 404 错误

4

我正在发布一个 ActionMethod 来检索一些客户计数。从我的本地机器上发布是正常的。但是当部署到另一台服务器时,它会抛出 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

你是否使用友好的URL来重写路径以指向脚本?如果没有,那么你正在尝试将POST提交到文件夹。 - riwalk
2个回答

6

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

请尝试使用以下代码代替

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

1

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接