小编Dav*_*vid的帖子

调用REST api时出现404错误(Phalcon)

尝试使用ajax在Phalcon中调用DELETE或PUT时,我收到404错误.我能够做一个GET.

我的阿贾克斯:

$.ajax({
    url: 'http://localhost/person/blah/5',
    type: 'DELETE',
    success: function (data) {
        console.log(data);
    }
}); 
Run Code Online (Sandbox Code Playgroud)

我的PHP

$app->delete('/person/blah/{id:[0-9]+}', function($id) {
    $response = new Phalcon\Http\Response();
    $response->setJsonContent(array('status' => 'OK', 'data' => array('id' => $id)));
    return $response;  
}); 
Run Code Online (Sandbox Code Playgroud)

在此之前,我遇到了DELETE,PUT和GET的CORS问题.我更改了我的.htaccess文件以允许访问控制,并且GET开始工作.但是,我现在有404问题DELETE和PUT.

这是我的.htaccess文件

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ index.php?_url=/$1 [QSA,L]
</IfModule>

<IfModule mod_headers.c>
    Header set Access-Control-Allow-Origin "*"
    Header set Access-Control-Allow-Methods "DELETE, PUT, GET"
    Header set Access-Control-Allow-Headers: "X-Requested-With, Content-Type"
</IfModule> 
Run Code Online (Sandbox Code Playgroud)

我的猜测是这个问题与CORS有关.javascript正在我的计算机上运行(而非服务器).我的javascript在C:/Users/username/Desktop/test.html中.我曾在Firefox和Chrome上试过并遇到同样的问题.


一些额外的信息

响应标题

Access-Control-Allow-Head...    X-Requested-With, Content-Type
Access-Control-Allow-Meth...    DELETE, PUT, GET
Connection  Keep-Alive
Content-Length  15
Content-Type …
Run Code Online (Sandbox Code Playgroud)

php apache ajax http-headers phalcon

3
推荐指数
1
解决办法
2189
查看次数

标签 统计

ajax ×1

apache ×1

http-headers ×1

phalcon ×1

php ×1