需要来自 Angular js 的跨域请求示例

Posted

技术标签:

【中文标题】需要来自 Angular js 的跨域请求示例【英文标题】:Need example of cross origin request from angular js 【发布时间】:2018-04-27 13:34:54 【问题描述】:

有一个问题希望能简单回答一下。

我在服务器 xxx.yyy.com 上有一个用 angular.js 编写的应用程序。它通过 HTTP/JSONP 请求访问服务器 abc.def.com 上的数据。

我想让我的数据服务器支持来自其他服务器的 POST 请求。

在开发此功能时,我想证明将 JSONP 请求替换为 POST 请求的过程。我现在收到 CORS 错误。我了解这里发生了什么,但我无法找到解决问题的方法。

在这个示例代码中,我在 xxx.yyy.com 上提出了这个请求:

kaunasAPI.simPost = function(meter_data)
    
    URL = 'http://abc.def.com/models/ajx_reading.php';
    return $http(
    method: 'POST',
    data: meter_data,
    url: URL
        );
    

在服务器 abc.def.com 我有以下代码:

<?php

    $jTableResult = array();
    $jTableResult['Result'] = "OK";
    $json = json_encode($jTableResult);
    exit ( $json  );
       

?>

我缺少什么来完成这项工作? 提前致谢。

【问题讨论】:

How do CORS and Access-Control-Allow-Headers work?的可能重复 【参考方案1】:

原来我一直在错误的一面寻找答案,即棱角分明的一面。

答案是在服务器代码中添加一行。现在的代码是:

<?php
        
    header("Access-Control-Allow-Origin: *");       //Fixes cross origin issue
    $jTableResult = array();
    $jTableResult['Result'] = "OK";
    $json = json_encode($jTableResult);
    exit ( $json  );
       

?>

【讨论】:

以上是关于需要来自 Angular js 的跨域请求示例的主要内容,如果未能解决你的问题,请参考以下文章

对 Python Bottle 的跨域 Angular JSONP 请求

使用 Angular 和 NodeJs (CORS) 的跨域请求

验证来自 Javascript 的跨域请求

Angular 6 对 .NET Web API 的跨域 POST 请求返回 401(未经授权)

带有预检的 Node.JS 中的跨域 POST 请求?

js跨域问题前后端分离的跨域问题