2

CakePHP を使用して REST API を構築しましたが、次のような問題が発生しています。

私が実行すると

curl -v -H 'ACCEPT: application/json' -u sam:hello http://localhost/journeys/latest.json

次のような期待される応答が得られます。

{"journey":{"Journey":{"id":"17","description":null,"created":"2013-01-31 23:02:54","modified":"2013-01-31 23:02:54","user_id":"3"}}}

次に、この API を作成した JavaScript に組み込み、最新のジャーニー データをリクエストして、使用する ID を抽出できるようにしました。

私が書いたJavascriptは次のとおりです。

  Server.getLatestJourney = function() {
$.ajax({
    type: 'GET',
    contentType: 'application/json',
    url: 'http://localhost/journeys/latest.json',
    dataType: "json",
    username: 'sam',
    password: 'hello',
    success: function(data, textStatus, jqXHR){
        latestJourney = data.journey.Journey.id;
        console.log('Laters journey id = ' + latestJourney);
    },
    error: function(jqXHR, textStatus, errorThrown){
        console.log('Latest Journey error: ' + textStatus + ' Error: ' + errorThrown);
    }
});
}

そのコードを実行すると、JavaScript コンソールに次のエラーが表示されます

GET http://sam:hello@localhost/journeys/latest.json 403 Forbidden 91ms

私はこれに完全に困惑しています。どんな助けでも大歓迎です。

4

1 に答える 1

0

Remove option contentType: 'application/json' and it should work - in my REST api that was also a problem and removing this line from ajax request solved it

于 2013-02-01T11:18:20.470 に答える