首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Ajax Slim框架

Ajax Slim框架
EN

Stack Overflow用户
提问于 2014-07-24 09:35:25
回答 1查看 1.3K关注 0票数 0

我正在开发一个ajax,以调用slimframework并将数据发布到DB。但是ajax不工作吗?我一直在ajax上得到404。

这工作

代码语言:javascript
运行
复制
<form action="http://myapi.com/api/key/514315/push" method="post">
<input type="input" name="test" value="test">

<input type="submit" value="Submit"/>

在Ajax中尝试使用时,这个无法工作:在发送数据时返回404,就好像您访问API而没有发送put请求一样。

代码语言:javascript
运行
复制
<script type="text/javascript">
var Data = [
    {
        "Name" : 'Home',
        "Description" : "This is a test description",
        "Keywords" : "Keyword One, Two, Threeh",
        "Menu" : 1,
        "Parent" : 0
    },
    {
        "Name" : 'About',
        "Description" : "This is a About description",
        "Keywords" : "Keyword One, Two, Threeh",
        "Menu" : 2,
        "Parent" : 0
    }

];

var rootURL = "http://myapi.com/api/key/514315/push";

$.each(Data, function(key, value) {

    $.ajax({
        type: 'POST',
        contentType: 'application/json',
        url: rootURL,
        dataType: "json",
        data: Data[key],
        success: function(data, textStatus, jqXHR){
            alert('Article Added');
        },
        error: function(jqXHR, textStatus, errorThrown){
            alert('Add Article error: ' + textStatus);
        }
    });

});

代码语言:javascript
运行
复制
$app->post('/key/:key/push', function ($key) {


        $app = new \Slim\Slim();

        $body = $app->request->getBody();

        $singleRequest =  $app->request->params('test');

        echo "<pre>";
        print_r($body);
        echo "</pre>";

        echo "<hr>";


        echo "<pre>";
        print_r($singleRequest);
        echo "</pre>";


});

$app->run();

有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 2014-07-24 10:08:02

代码语言:javascript
运行
复制
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: POST, GET, OPTIONS');
header('Access-Control-Max-Age: 1000');
if(array_key_exists('HTTP_ACCESS_CONTROL_REQUEST_HEADERS', $_SERVER)) {
    header('Access-Control-Allow-Headers: '
           . $_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS']);
} else {
    header('Access-Control-Allow-Headers: *');
}

if("OPTIONS" == $_SERVER['REQUEST_METHOD']) {
    exit(0);
}

将其添加到PHP中

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

https://stackoverflow.com/questions/24930129

复制
相关文章

相似问题

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