我发布了一个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
答案 0 :(得分:6)
可能在另一台机器上,您已将应用程序部署在虚拟目录中,因此无法找到您正在使用的绝对URL。
尝试使用此代码
var urlStr = '<%: Url.Content( "~/Items/ItemCount" ) %>';
答案 1 :(得分:1)
您的urlStr
设置为/Items/ItemCount/
。当推送到服务器时,它将尝试从根目录查找这些文件(因为第一个'/')。您应该尝试使用绝对路径来解决此问题。