jquery的ajax在facebook应用程序中不起作用
我正在尝试创建一个Facebook应用程序,一切正常,除了我用来填充第一个选择框中选择的项目的第二个框的ajax部分。
我正在使用jquery(v1.3.2)来完成此任务。 这个ajax在我已占用空间的主机上工作得非常好,但是它在facebook中不起作用。
以下是我对此问题的疑问,
- canvas页面url是否需要与我的应用程序名称相同。 (在我的情况下,它是不同的)
我在facebook内的父选择框的onchange事件中收到此错误。
访问受限制的URI被拒绝“代码:”1012
- 什么可能是错的……? 请帮我解决这个问题。
谢谢
您不能从运行脚本的域以外的其他站点请求数据。 例如,如果您运行的是脚本www.example.com/script.js,那么您只能在www.exaple.com域下访问文件,而不能访问www.facebook.com。
有几种方法可以做到:
- JSONp是一种方式,但它要求facebook回复jsonp数据。 不确定是否确实如此。 有关JSONp的更多信息,请点击此处
- CSSHttpRequest (或AJACSS)是另一种方式。 严重怀疑facbook使用这种方法。
使用ajax时存在一个限制,即xmlhttp请求可能不是跨域的。 请参阅https://developer.mozilla.org/En/Same_origin_policy_for_JavaScript
一个常见的解决方法是将ajax请求发送到后端脚本,该脚本实际上会产生跨域请求,即cURL。
使用FBML,您可以使用FBJS将JSON数据类型发送到您自己的脚本:
这是文档: http : //wiki.developers.facebook.com/index.php/FBJS/Examples/Ajax
- 下载文件并通过ajax将其重定向到另一个页面
- json.parse给出Uncaught SyntaxError:Unexpected Token(Django json序列化查询集)
- 使用Ajax在.NET MVC4中加载部分视图
- 基于来自Jquery和Ajax的combobox中的选定值自动填充表单
- 如何从PhoneGap / webapp将文件ftp到服务器?
- jQuery同步非阻塞ajax调用
- jquery Ajax Request SyntaxError:意外的令牌<
- 如何在普通的javascript中实现jQuery Mobile Animated Ajax页面导航(转换)
- Jquery ajax填充select并在更改时运行ajax以获取表行输入的值