请问有没有人能给出一个HTTP处理程序的示例,该处理程序返回JSON并支持跨域调用。我正在使用jQuery的getJSON()方法向我的Web服务器上的一个.ashx文件发送请求。
我知道我需要在getJSON()的URL中添加?callback=?,但我不确定在我的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();
});
});