我在JQuery/.NET WCF项目中遇到了同样的问题,其中Firefox使用OPTIONS谓词来知道允许什么动词(get,post,delete,put)。
所以我把这个给我的global.asax.cs文件中的所有REST服务继承的方法“Application_BeginRequest”。所以,当一个REST服务调用,通过该方法首先:
HttpContext.Current.Response.AddHeader("Access-Control-Allow-Origin", "*");
if (HttpContext.Current.Request.HttpMethod == "OPTIONS") {
HttpContext.Current.Response.AddHeader("Cache-Control", "no-cache");
HttpContext.Current.Response.AddHeader("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE");
HttpContext.Current.Response.AddHeader("Access-Control-Allow-Headers", "Content-Type, Accept, x-requested-with");
HttpContext.Current.Response.AddHeader("Access-Control-Max-Age", "1728000");
HttpContext.Current.Response.End();
}
当动词“OPTIONS”时,全球页面返回允许的选项。然后浏览器发送POST/DELETE/GET/PUT请求。
我想你必须这样做。你使用什么技术为您的网站?
顺便说一句,如果你有更好的方法,通过概率来获得,i'ld很乐意使用它太:)
这恐怕与这个问题有关:http://stackoverflow.com/questions/ 9210015/jquery-ajax-stopped-working-with-ios-5-0-1/10533966 – Evgenii 2012-05-10 12:27:39
尝试在iPad上启用javascript控制台以查看是否有任何控制台错误。还请确保您始终使用最新版本 – 2012-06-07 04:21:35
您是否尝试过使用jQuery移动? – 2012-06-24 14:12:22