支持 JSONP 的 ASP.NET 通用 HTTP 处理程序 (.ashx)

标签 asp.net ajax json jsonp

有人可以展示一个返回 JSON 并支持跨域调用的 HTTP 处理程序的示例。我正在使用 jQuery 的 getJSON() 将请求发送到我的 Web 服务器上的 .ashx 文件。

我知道我需要添加 ?callback=?到我在 getJSON() url 中的 url,但我不确定需要在我的 ashx 文件中的服务器上做什么?

最佳答案

弄清楚了。我将此函数添加到我的处理程序并调用它:

void WriteCallback(HttpContext context, string json)
        {
            context.Response.Write(string.Format("{0}({1});", context.Request["callback"], json));
        }

然后在浏览器中:
$(function () {
    $.getJSON('MyHandler.ashx?callback=?', { Foo: "Bar" }, function (data) {

        if (data.SomeCondition)
            $('#someElement').show();

    });
});

关于支持 JSONP 的 ASP.NET 通用 HTTP 处理程序 (.ashx),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3702959/

相关文章:

javascript - 如何通过 php 将正则表达式变量保存为 .json 文件?

c# - Fluent Validation,在 Asp.NET Core 中对列表中的每个项目进行不同的验证

c# - 在 Visual Studio 上将文件添加为链接 - 调试与发布

asp.net - 远程主机关闭了连接。错误代码是 0x80070057

php - 安全 API 的最佳实践?

javascript - 如何正确格式化使用 javascript 在服务器端传递的参数?

Python 在没有标签的情况下从 JSON 中提取数据?

asp.net - 回发后隐藏字段值丢失

jquery - 使用 JQuery 解析此 JSON

javascript - 允许用户调用 JSON 对象的元素