我决定开发一个使用公共API的应用程序,该API为城市中的公共汽车和地铁提供时间表。
我决定使用HTML5开发这个应用程序,以便通过使用像phonegap这样的东西,我可以部署到多个平台。
在开发过程中,我发现由于 xmlhttprequest无法加载否,我无法从API访问JSON响应否请求资源上存在“Access-Control-Allow-Origin”标头
所以我决定使用普通的提供者网站空间作为我发送请求的php函数的桥梁,并且能够从该API服务获得响应并将我的HTML页面发送回JSON结果。
我有两个问题,其中还有一个起始页面或线索: 1)如果我用本机代码(java和ObjC)开发应用程序,那么Access-Control-Allow-Origin的问题也会出现?
2)如果HTML5和javascript是由phonegap编译的,我仍然无法访问该API服务,我仍然会遇到同样的问题,我还是要使用php桥吗?
答案 0 :(得分:3)
1)Access-Control-Allow-Origin的这个问题就是这个问题 如果我用本机代码开发应用程序(java和 ObjC)?
不,这是一种只有浏览器才能实现的安全功能。
2)如果HTML5和javascript是由phonegap编译的,我会的 仍然无法访问该API服务,我仍然会有相同的 问题,我还是要使用php桥吗?
PhoneGap确实设置了允许您访问所有主机的正确标头。它无法覆盖或修改响应服务器返回的标头。通常API端点可以设置正确的标头,您应该考虑告诉API所有者他们是不是。
答案 1 :(得分:0)
答案 2 :(得分:0)
我尝试使用外部API(超市api)时遇到了类似的问题,当我实际上将我的代码上传到phonegap版本然后将其下载到设备上时,http请求正在解析。