【问题标题】:Header issue while accessing Web Service through AJAX通过 AJAX 访问 Web 服务时出现标题问题
【发布时间】:2014-02-19 12:00:04
【问题描述】:

我正在开发一个 phonegap 应用程序,它从 REST Web 服务加载数据。

我使用 ajax 请求加载数据。但为此,我需要在服务器端设置allow access origin : *

但是,它在以下情况下可以正常工作,

1) 通过 postman/rest 客户端访问同一个 WebService 时,服务器端无需更改任何内容。

2) 通过IOS/Android原生代码访问同一个WebService时,服务器端无需做任何改动。

我担心的是,是否可以通过 ajax 访问 Web 服务而不更改服务器端的任何内容。

我无法使用jsonp,因为它使用 GET 请求。

【问题讨论】:

  • 你的回复是json格式吗?
  • 包含ajax的web服务和服务器渲染页面的域是一样的吗?
  • @Jai:是的,我的回复是 JSON 格式。
  • @Barewithme :没有两个厄运是不同的。因为在渲染部分会发生在 phonegap 中。这是在移动应用程序内部。

标签: jquery ajax web-services cordova


【解决方案1】:

如果您要访问跨域资源allow access origin 是所有浏览器都应遵循的安全specification 所必需的,这里是wiki

如果您认为为什么它是强制性的,请查看question

因此,根据您的评论,Ajax 要与您的 Web 服务一起使用,您需要实现 allow access origin,我建议使用特定属性来避免安全事件,例如allow access origin: http://yourwebsite.com/websevice 您还必须使用 JSONP

Here is one more reference to CORS

【讨论】:

  • 感谢您的重播。但是,我仍然对邮递员如何加载数据感到困惑。
  • 邮递员生成个人休息请求!在某种程度上,您可以将其与您在浏览器地址栏上粘贴的 URL 进行比较,然后按 Enter。这不需要遵循安全规范,但是浏览器在解析 JavaScript 时会生成 ajax 请求,这可能会导致安全风险。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-08
  • 2020-05-25
  • 1970-01-01
  • 2012-10-13
  • 1970-01-01
  • 2015-01-29
相关资源
最近更新 更多