C'était la première question/réponse qui est apparu pour moi, en essayant de résoudre le même problème à l'aide de ASP.NET MVC comme la source de mes données. Je me rends compte que cela ne résoudra pas le PHP en question, mais il est lié assez pour être utile.
Je suis à l'aide de ASP.NET MVC. Le blog de Greg Brant a fonctionné pour moi. En fin de compte, vous créez un attribut, [HttpHeaderAttribute("Access-Control-Allow-Origin", "*")]
, que vous êtes en mesure d'ajouter aux actions de contrôleur.
Par exemple:
public class HttpHeaderAttribute : ActionFilterAttribute
{
public string Name { get; set; }
public string Value { get; set; }
public HttpHeaderAttribute(string name, string value)
{
Name = name;
Value = value;
}
public override void OnResultExecuted(ResultExecutedContext filterContext)
{
filterContext.HttpContext.Response.AppendHeader(Name, Value);
base.OnResultExecuted(filterContext);
}
}
Et puis de l'utiliser avec:
[HttpHeaderAttribute("Access-Control-Allow-Origin", "*")]
public ActionResult MyVeryAvailableAction(string id)
{
return Json( "Some public result" );
}