2014-05-12 1 views
0

CouchDB 인스턴스가 실행 중이며 쿠키 인증을 사용하여 Ember 응용 프로그램에서 연결하려고합니다.jQuery에서 CouchDB를 인증 할 수 없습니다.

POST /_session HTTP/1.1 
User-Agent: curl/7.32.0 
Host: 127.0.0.1:5984 
Accept: */* 
Content-Type: application/json 
Content-Length: 40 

같은 작업에 대한 나의 자바 스크립트는 다음과 같습니다 :

$.ajax({ 
    type: 'POST', 
    url: "%@/_session".fmt(App.Host), 
    data: JSON.stringify({ user: $('#username').val(), password: $('#password').val() }), 
    dataType: 'json', 
    contentType: 'application/json' 
}) 

curl -vX POST $HOST/_session -H 'Content-Type: application/json' -d '{ "name": "will", "password": "secret" }' 

이 다음과 같은 요청이 생성 내가 성공적으로 사용하여 인증 할 수있는 명령 줄에서

적절한 요청을 만듭니다.

Accept:application/json, text/javascript, */*; q=0.01 
Accept-Encoding:gzip,deflate,sdch 
Accept-Language:en-US,en;q=0.8,fr;q=0.6 
Connection:keep-alive 
Content-Length:35 
Content-Type:application/json 
Host:localhost:5984 
Origin:http://localhost 
Referer:http://localhost/~will/howlin-wolf/www/ 
User-Agent:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.116 Safari/537.36 

비록 응답이 401, 허가되지 않았습니다.

나는 x-www-form-urlencoded 정보를 사용하여 동일한 결과를 얻습니다. 컬 요청 작동 :

curl -vX POST $HOST/_session -d 'name=will&password=secret' 

JQuery와하지 않습니다 : 그것은 name을 했어야 때 내가 jQuery를 요청에서 user을 사용했다

$.ajax({ 
    type: 'POST', 
    url: "%@/_session".fmt(App.Host), 
    data: "user=%@&password=%@".fmt($('#username').val(), $('#password').val()) 
}) 

답변

관련 문제