首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ionic App和服务器post: Acces-Control-Allow-Origin

Ionic App和服务器post: Acces-Control-Allow-Origin
EN

Stack Overflow用户
提问于 2014-10-03 01:07:41
回答 3查看 6.1K关注 0票数 0

我是angularJs的新手,在我的ionic应用程序中,我尝试发送一个json到我的服务器,这是控制器:

代码语言:javascript
复制
`enter code here`.controller('DashCtrl', ['$scope','$http',function($scope, $http) {
    $scope.formData = {};
    $scope.sendForm = function(){
         
        $http({
        method  : 'POST',
        url     : 'http://www.---.org/appForm.php',
        data    : JSON.stringify($scope.formData),  // pass in data as strings
        headers : {'Access-Control-Allow-Origin':'*'}
        })
        .success(function(data) {
            console.log(data);

            if (!data.success) {
            	// if not successful, bind errors to error variables
                $scope.errorName = data.errors.name;
                $scope.errorSuperhero = data.errors.superheroAlias;
            } else {
            	// if successful, bind success message to message
                $scope.message = data.message;
            }
        });
    };

但当我发送帖子时,控制台显示以下错误消息:

-Error无法加载资源:源htt..Access-Control-Allow-Origin不允许。(appForm.php,第0行)

-Error XMLHttpRequest无法加载htt..Access-Control-Allow-Origin不允许源http://localhost:8100。(localhost,第0行)

我尝试将此.htaccess放入我的主文件夹中:

Header add Access-Control-Allow-Origin "*“Header add Access-Control-Allow-Headers "origin,x-requested with,content-type”Header add Access-Control-Allow-Methods "PUT,GET,POST,DELETE,OPTIONS“

但这又增加了一个错误:

加载资源的-Failed :服务器响应状态为500 (内部服务器错误)。

我要发疯了!有谁知道吗?!非常感谢大家的关注

EN

回答 3

Stack Overflow用户

发布于 2015-02-05 23:35:45

您可以将服务代理添加到ionic.project文件。

代码语言:javascript
复制
{
  "name": "appname",
  "email": "",
  "app_id": "",
  "proxies": [
    {
      "path": "/v1",
      "proxyUrl": "https://api.instagram.com/v1"
    }
  ]
}

https://github.com/driftyco/ionic-cli中检查相关零件

票数 1
EN

Stack Overflow用户

发布于 2014-10-05 03:17:36

在我的例子中,打开命令行get到chrome目录:

谷歌C:\程序文件(X86)\

\Chrome\应用程序

类型:chrome.exe --disable-web-security

在浏览器中打开http://localhost:8100,你的问题就会迎刃而解

票数 0
EN

Stack Overflow用户

发布于 2015-06-26 22:04:46

在开发阶段,跨源是我们需要在离子框架中显式处理的问题。

来自ionic team的Here is a good blog page,其中包含问题的完整细节

在更高的层次上:

步骤1:将代理详细信息添加到ionic.project

代码语言:javascript
复制
{
 "name": "proxy-example",
  "app_id": "",
  "proxies": [
    {
      "path": "/api",
      "proxyUrl": "http://cors.api.com/api"
    }
  ]
}

步骤2:作为一个好的实践,添加角度常量来管理外部端点-这不是强制的

代码语言:javascript
复制
angular.module('starter', ['ionic', 'starter.controllers', 'starter.services'])
.constant('ApiEndpoint', {
  url: 'http://localhost:8100/api'
})

第三步:重启离子服务。如果不重新启动ionic.project,更改将不会生效。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26165879

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档