请求json

时间:2015-07-18 18:59:01

标签: javascript php ajax json .htaccess

我为我的项目创建了一个API,但我遇到了一个问题。我正在使用Laravel 4.2。我创建了一个返回JSON字符串的控制器。在我的控制器下面:

控制器:

public function license($value)
{
    $array = ['test' => 'Nummer oneindigt'];
    return json_encode($array);
}

之后我开始制作我的AJAX脚本:

//$site     = "http://app.moldersmedia.nl/api/key/value/license.json";
$site   = "http://app.dev/api/key/value/license.json";

$(document).ready(function() {
    $.ajax({
        url: $site,
        crossDomain: true,
        data: 'my_request_is=foo',
        method: 'GET',
        dataType: 'json',
        contentType: 'application/json; charset=utf-8',
        success: function(json){
            alert('Request is geslaagd')
        },
        error: function(jqxhr, textStatus, error){
            console.log(jqxhr);
            console.log(textStatus);
            console.log(error);
        }
    });
});

所以在那之后我遇到了一些问题:Access-Control-Allow-Origin。经过一些研究,我发现我需要修改我的.htaccess,这就是我所做的。在我的.htaccess下方

<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews
    </IfModule>

    RewriteEngine On

    # Redirect Trailing Slashes...
    RewriteRule ^(.*)/$ /$1 [L,R=301]

    # Handle Front Controller...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
</IfModule>    

<IfModule mod_headers.c>
    Header add Access-Control-Allow-Origin "*"
    Header add Access-Control-Allow-Headers "origin, x-requested-with, content-type"
    Header add Access-Control-Allow-Methods "PUT, GET, POST, DELETE, OPTIONS"
</IfModule>

现在它使用此代码从1个本地环境工作到另一个环境。所以在那之后我上传了我的应用程序在线测试。这还不行。我收到了一些错误。有人能告诉我发生了什么吗?您可以看到将JavaScript粘贴到HTML文档中的错误,并取消注释app.moldersmedia.nl链接。

我收到错误:

XMLHttpRequest cannot load http://app.moldersmedia.nl/api/key/value/license.json?my_request_is=foo. The 'Access-Control-Allow-Origin' header contains multiple values 'http://default, *', but only one is allowed. Origin 'http://default' is therefore not allowed access.

0 个答案:

没有答案