【发布时间】:2014-12-22 14:55:48
【问题描述】:
我正在使用 WordPress 作为后端,AngularJS 作为前端来构建一个网站。我正在使用 WordPress JSON API 将我的数据发送到前端。
https://wordpress.org/plugins/json-api/
问题
我正在使用 AngularJS 从 WordPress JSON API 获取我的数据。我创建了以下服务:
this.getPage = function ( slug ) {
return $http.get('wordpress/api/get_page/?slug=' + slug)
}
我在控制器中使用此服务来获取当前页面,如下所示:
HTTPService.getPage('home')
.success(function ( data ) {
$scope.page = data.page;
console.log(arguments);
})
.error( function () {
console.log(arguments);
})
这在所有浏览器中都可以正常工作,iOS 上的 Safari 除外。在 iOS 上的 Safari 上,当我记录错误参数时得到以下响应:
这是我将 iPhone 连接到 Mac 时显示的 Safari 调试器。我得到的错误响应是错误代码 0..
到目前为止我已经尝试过什么
我在.htaccess 文件中设置了Access-Control-Allow-Origin "*",但这似乎不起作用。该请求是在具有相对 URL 的同一域上完成的,所以我认为这不是问题。
那么,有谁知道为什么这在 Safari (iOS) 上不起作用?
编辑
根据要求提供一些额外信息:
【问题讨论】:
-
safari iOS7 和 safari iOS8 都出现该错误
-
你能把你的代码发布到 jsfiddle 吗?
-
错误参数从哪里打印?您能否发布错误处理程序 (
function(data, status, headers, config)) 或更多代码的所有参数的打印?您还应该查看this old question。 -
请显示更多关于通讯的细节。在
network选项卡中,请显示请求和响应的标头 + 响应的状态码。 (顺便说一句。我遇到了很多奇怪的 iOS 错误行为,所以如果你的只是另一个错误,我不会感到很惊讶。) -
错误代码 0 表示请求被中止、超时或被取消。如果没有看到网络选项卡或错误 XHR,真的无法弄清楚其他任何事情
标签: javascript ajax wordpress angularjs mobile-safari