Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/234.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ionic http POST在服务器上不工作_Javascript_Php_Angularjs_Apache_.htaccess - Fatal编程技术网

Javascript ionic http POST在服务器上不工作

Javascript ionic http POST在服务器上不工作,javascript,php,angularjs,apache,.htaccess,Javascript,Php,Angularjs,Apache,.htaccess,我有一个很大的问题,因为2天以来,我的应用程序以前在任何地方都使用相同的代码工作,现在如果我运行ionic-serve命令并发出POST请求,我会遇到此错误: OPTIONS https://www.example.com/file.php net::ERR_EMPTY_RESPONSE(anonymous function) @ ionic.bundle.js:16185sendReq @ ionic.bundle.js:15979status.$get.serverRequest @ ion

我有一个很大的问题,因为2天以来,我的应用程序以前在任何地方都使用相同的代码工作,现在如果我运行
ionic-serve
命令并发出POST请求,我会遇到此错误:

OPTIONS https://www.example.com/file.php net::ERR_EMPTY_RESPONSE(anonymous function) @
ionic.bundle.js:16185sendReq @
ionic.bundle.js:15979status.$get.serverRequest @
ionic.bundle.js:15712deferred.promise.then.wrappedCallback @
ionic.bundle.js:19197deferred.promise.then.wrappedCallback @
ionic.bundle.js:19197(anonymous function) @
ionic.bundle.js:19283promises.$get.Scope.$eval @
ionic.bundle.js:20326promises.$get.Scope.$digest @
ionic.bundle.js:20138promises.$get.Scope.$apply @
ionic.bundle.js:20430(anonymous function) @
ionic.bundle.js:26763(anonymous function) @
ionic.bundle.js:10478forEach @ ionic.bundle.js:7950eventHandler @
ionic.bundle.js:10477
如果我试着在iPhone、iPhone模拟器和android设备上运行这个应用程序,一切都很好。我在MAC OSX和Windows上使用了chrome,并启用了CORS插件。
如果我切换到开发服务器(不是https,只是http),除了Android以外的所有设备都会出现相同的错误。
我试图通过编辑
.htaccess
文件来启用apache服务器中的CORS,方法是添加以下内容:
头集访问控制允许源“*”
,但它解决不了任何问题。请给我一些想法

header('Access-Control-Allow-Origin: *');
header('Content-Type: application/json');

$response = array(
    'LoginResult' => array(
      'Authorized' => TRUE,
      'FormOpen' => TRUE,
    ),
  );

echo json_encode($response);
exit;
下面是一些用于Ionic应用程序的PHP代码(服务器端)

if (authObject == undefined) {
  authObject = {};
}

$http({
      headers: {
        'Content-Type': 'application/x-www-form-urlencoded'
      },
      method: "POST",
      url: LoginUrl,
      data: authObject
    }).success(function (data) {
      if (data.LoginResult && data.LoginResult.Authorized) {
        // The login was successfull, save the authObject.
        $localStorage.currentUser = authObject;

        // deferred.resolve('Welcome ' + authObject.UserName + '!');
      }
      else {
        // deferred.reject('Wrong credentials.');
      }
    }).error(function (data, status, headers, config) {
      // deferred.reject(data, status);
    });
这是离子电话


希望有帮助,我不知道你是否可以访问服务器端。

这肯定是一个CORS问题,我通过切换到safari暂时解决了(我现在可以在浏览器上开发),转到开发>禁用交叉源-限制。显然,chrome上的CORS附加组件未能禁用CORS限制。我希望我能帮助其他开发者