AngularJS,如何发送url不友好的请求?

时间:2014-09-02 05:29:01

标签: php angularjs

我正在尝试绑定PHP后端(MySQL数据库)和AngularJS前端。 我花了大约两天的时间阅读教程,感到很沮丧和时间。

基本上我正在使用这条线:

$http.get('/angular/index.php').success(function (data) {
    console.log(data);
});

提出以下请求:

GET http://localhost:9000/angular/index.php 404 (Not Found) 

问题是服务只能从以下网址访问:

angular/index.php

如何更改/使用Angular将请求发送到本地数据存储/数据库?

RESTful设置

虚拟主机:

<VirtualHost *:9000>
    ServerAdmin webadmin
    DocumentRoot "/Users/biggles/Sites/angular/app/ajax"
    ServerName angular
    ServerAlias angular
    ErrorLog "/private/var/log/apache2/angular-error_log"
    CustomLog "/private/var/log/apache2/angular-access_log" common
</VirtualHost>

主持文件:

127.0.0.1   angular

1 个答案:

答案 0 :(得分:2)

要从角度应用中访问http://angular/index.php,您只需使用以下代码段即可 angular是您的主机名,不属于路径

$http.get('/index.php').success(function (data) {
    console.log(data);
});

Angular $ http服务就像通常的链接一样:

如果您的网址以方案名称开头,例如。 http://// $ http会尝试执行外部请求。但是,这需要CORS配置或JSONP。

如果您的网址以斜杠开头/ $ http将使用当前的方案名称,用户信息,主机名和端口,但将替换完整路径。

如果您的网址既不是方案名称也不是斜线,那么您的路径将是相对的。

来自维基百科:

foo://username:password@example.com:8042/over/there/index.dtb?type=animal&name=narwhal#nose
 \_/  \_______________/ \_________/ \__/                      \______________________/ \__/
  |           |               |       |                                  |              |
  |       userinfo         hostname  port                              query        fragment
  |    \________________________________/\___________________/ 
scheme                 |                          |              
 name              authority                      |              
                                                path             
\_______________________________________/                   
                     |                                      
                    host