gpt4 book ai didi

asp.net - $.ajax 调用返回 application/json 并在测试服务器上运行,text/html 在生产服务器上运行并失败

转载 作者:行者123 更新时间:2023-12-01 04:15:20 24 4
gpt4 key购买 nike

前言:我知道有很多类似的问题,但没有一个对我有帮助。

我有点陷入困境。

我有一个 ASP.NET 应用程序,它使用 $.ajax 调用将一些数据返回到页面。我在 3 个不同的应用程序服务器上都有这个,所有服务器都是 Windows Server 2003。

我不在本地运行它,它在 3 个 Web 应用程序服务器上运行。 2 个有效,1 个无效。

此调用在开发服务器、开发测试服务器上完美运行,但在生产服务器上失败。我检查了 Chrome 中的控制台,发现在我的开发和开发测试环境中,ajax 调用返回 application/json,但在生产中返回 text/html。另外,在我的开发和开发测试服务器上,一切正常,我得到了应有的 json 返回,但在生产中,我得到 200 OK,但它返回整个调用页面 html 并执行我的 ajax 的错误函数称呼。

这是我的 ajax 调用:

$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "RequestDetail.aspx/postAsync",
data: "{'reqSystem': '" + $('#ctl00_PlaceHolderMain_lblRequestSystem').text() + "', 'vendorNumber': '" + $('#ctl00_PlaceHolderMain_txtVendorNo').val() + "'}",
dataType: "json",
success: AjaxSucceeded,
error: AjaxFailed
});

这是背后的代码:

<System.Web.Services.WebMethod()> _
Public Shared Function postAsync(ByVal reqSystem As String, ByVal vendorNumber As String) As String
Dim required = CheckForSpecialApproval(reqSystem, vendorNumber)
Return required.ToString()
End Function

这是我在生产环境中的 Chrome 控制台中看到的内容:

Production Chrome Console

这就是 Dev 上的样子:

Dev Chrome Console

我检查了生产服务器上 IIS 中的 mime 类型,发现 javascript 和 json 的 mime 类型不存在,因此我必须创建它们,但它仍然无法正常工作。我用谷歌搜索了一遍,但我无法弄清楚问题是什么。

如果您需要任何其他信息,我很乐意提供。

请帮忙。

提前致谢。

最佳答案

生产响应的大小都出奇地相同,并且比开发响应大得多(173KB 对 366B)。您应该调查该 text/html 响应的内容 - 该内容很可能实际上是 HTML 格式的错误消息。如果 Chrome 不允许您查看响应,请使用 Fiddler。

关于asp.net - $.ajax 调用返回 application/json 并在测试服务器上运行,text/html 在生产服务器上运行并失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15382673/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com