有人可以展示一个返回 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/