javascript - 通用处理程序未在托管环境中返回响应
问题描述
通用处理程序不返回托管环境的响应
我正在尝试托管使用 ASP.NET 构建的应用程序。它有一个简单的 html 文件调用 javascript,其中我有一个 ajax 调用请求来自通用处理程序(.ashx)的响应。该应用程序在我的本地运行良好,但它不适用于托管环境。
当我在托管站点上调试 javascript 时,它返回的响应是
"<%@ WebHandler Language=\'C#\' CodeBehind=\"GetInfo.ashx.cs" Class=\"MyProject.GetInfo\" %> \r\n" 在 ajax 上的成功数据元素中。
我是这个主机的新手,我不确定我的 ajax 请求是错误的还是发布错误。我只是在 Visual Studio 上使用了简单的发布选项,并将所有文件发布到托管环境。
这是我的ajax请求:
$.ajax({
type: "GET",
url: "/Handlers/GetInfo.ashx",
contentType: "application/json; character=utf-8",
success: function (data) {
if (data.status == "OK") {
//some code here
}
}
});
这是我的处理程序:
获取信息.ashx.cs
public class GetInfo: IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
context.Response.Write(JsonConvert.SerializeObject (new { status = "OK" }));
}
}
解决方案
确保你的 web.config 文件中有这个(本地它应该在全局 web.config 中):
<system.web>
<httpHandlers>
<add path="*.ashx" verb="*" type="System.Web.UI.SimpleHandlerFactory, System.Web" validate="True"/>
</httpHandlers>
</system.web>
推荐阅读
- ios - 未找到 Flutter 插件“geolocator-Swift.h”文件
- java - 处理 Java 中的 OutOfMemory 错误
- google-chrome-extension - Chrome 扩展 - 如何将变量传递给新标签?
- upgrade - 材料 v2.0.0-alpha.8-2 是否支持 Angular 版本 6?
- r - 用虚线连接多个方面的多个点
- javascript - 续集调用结构
- javascript - 在节点 js 中使用 promise 时函数工作不正确
- javascript - VueJS router-link ctrl+click 带有标签元素的链接
- javascript - 获取文本“
- " 带有 javascript 的标签
- javascript - 如何从.map返回对象数组