javascript - 纯和传统的 Ajax 请求是否可以在 native /混合移动应用程序上使用?

标签 javascript ajax cordova sencha-touch cross-domain

我知道使用 JSONP 技术 http://en.wikipedia.org/wiki/JSONP我们可以创建一个跨域 Ajax 请求。

但是对于这个不算“纯正传统”的问题。

我只是想知道原生/混合应用是否也适用“同源策略”

http://en.wikipedia.org/wiki/Same-origin_policy

这件事似乎有很多困惑。

我的一个 friend 发誓说他用“Ajax”代理将 Sencha Touch 2.3.1 + PhoneGap 3 连接到他的后端,我觉得很难相信(代理应该是 JSONP IMO),或者这只需要特殊的服务器配置因为从未应用同源策略,所以浏览器永远不会参与?

我知道这个问题可能不符合 SO 的精神,但我认为关于这个主题的一个好的答案会帮助很多人,因为我一直找不到答案。

最好的问候@code4jhon

最佳答案

PhoneGap 应用程序在 webview 中运行,而不是在浏览器中运行,因此跨源不是 PhoneGap 应用程序的问题,您可以对任何 URL 执行 AJAX 调用。

唯一需要注意的是config中有一个白名单参数“access origin”,用于限制对某些特定url的访问。

对于较旧的 PhoneGap 版本,访问源的默认设置是本地主机,但现在默认设置为“*”,允许访问任何 URL。

PhoneGap 不需要 JSONP 或 cors header 。

关于javascript - 纯和传统的 Ajax 请求是否可以在 native /混合移动应用程序上使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21915443/

相关文章:

php - 所有其他 AJAX 调用完成后的 jQuery 加载函数

javascript - 使用 Google Feeds API 访问远程 RSS 提要

javascript - 如何在不使用 Canvas 的情况下在 JavaScript 中计算上传图像的平均色调

c# - Ajax 调用返回描述对象而不是对象的字符串

android - 视口(viewport)元标记在 Android 4.4 WebView 中被忽略

javascript - 正则表达式替换在 Node 中的工作方式与在控制台中的工作方式不同

javascript - Ajax Jquery 和 php : How to control feedback?

java - Ajax 表单提交和文件上传不起作用 Spring MVC

ios - 无法加载网页 - 错误(NSURLErrorDomain 错误 -999)

android - Cordova Android 应用程序在拍摄照片时因 RecoverableSecurityException 而崩溃