2016-04-17 10 views
1

AngularJS HTTPサービスを使用してCouchDB TypeScriptクラスを作成しようとしています。呼び出しは正常に動作しますが、サーバーからステータスコードまたはjsonエラー情報を返すことができません。もちろん、これは本当に私がユーザーに与える必要がある情報です。couchdb angularJS HTTPサービスコールバックエラー応答に有用な情報がありません

Access-Control-Allow-Origin → chrome-extension://fdmmgilgnpjigdojojpjoooidkmcomcm 
Access-Control-Expose-Headers → Cache-Control, Content-Type, Server 
Cache-Control → must-revalidate 
Content-Length → 197 
Content-Type → text/plain; charset=utf-8 
Date → Sun, 17 Apr 2016 01:15:49 GMT 
Server → CouchDB/1.6.1 (Erlang OTP/R16B02) 

体があります:

{ 
    "error":"illegal_database_name", 
    "reason":"Name: 'fooBar'. Only lowercase characters (a-z), digits (0-9), 
    and any of the characters _, $, (,), +, -, and/are allowed. Must begin 
    with a letter." 
} 

はたくさんした後、あなたに

答えて

1

に感謝

public createDb(name: string, callback: Function) { 
    let url = this.urlPrefix + name; 
    let cbData: CouchStatus = new CouchStatus; 

    this.http.put(url).then((response: any) => { 

     cbData.httpStatus = response.status; 
     if (response.data.ok === true) { 
      cbData.ok = true; 
     } else { 
      cbData.ok = false; 
      cbData.error = response.data.error; 
      cbData.reason = response.data.reason; 
     } 
     callback(cbData); 
    }, (httpError: any) => { 

     cbData.ok = false; 
     cbData.httpStatus = httpError.status; 
     cbData.error = httpError.data; 
     console.log("createDb: " + cbData.error); 
    }); 
} 

CouchDBのは "400不正な要求"

ヘッダのステータスを返します。頭が鋭い問題がCORSであることがわかりました。オプションメソッドでエラーが発生しました。何が起こっているのか分かりませんが、それは別の日の問題です。

関連する問題