나는 api에 사용자 이름과 비밀번호를 게시하려했지만 jquery 게시물처럼 단순하지 않은 것처럼 보입니다. 나는이 400 오류를 계속 간다.AngularJs - JSON 게시물
코드 :
$http({
method: 'POST',
url: apiLink + '/general/dologin.json',
data: {"username":"someuser","password": "somepass"}
}).success(function(response) {
console.log(response)
}).error(function(response){
console.log(response)
});
하지만이 줄을 추가하는 경우 : 데이터를
$http.defaults.headers.post["Content-Type"] = "application/x-www-form-urlencoded";
을 변경 :
data: "username=someuser&password=somepass"
가 작동합니다. 하지만 문제는 json을 사용해야한다는 것입니다. 구글 크롬에서
그리고 상세 정보 :
Request URL:http://coldbox.abak.si:8080/general/dologin.json
Request Method:POST
Status Code:400 Bad Request
Request Headersview source
Accept:application/json, text/plain, */*
Accept-Encoding:gzip,deflate,sdch
Accept-Language:en,sl;q=0.8,en-GB;q=0.6
Cache-Control:max-age=0
Connection:keep-alive
Content-Length:57
Content-Type:application/x-www-form-urlencoded
Host:coldbox.abak.si:8080
Origin:http://localhost:8888
Referer:http://localhost:8888/
User-Agent:Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.154 Safari/537.36
Form Dataview sourceview URL encoded
{"username":"someuser","password":"somepass"}:
Response Headersview source
Access-Control-Allow-Origin:*
Connection:close
Content-Length:49
Content-Type:application/json;charset=utf-8
Date:Wed, 02 Apr 2014 07:50:00 GMT
Server:Apache-Coyote/1.1
Set-Cookie:cfid=b5bbcbe2-e2df-4eef-923f-d7d13e5aea42;Path=/;Expires=Thu, 31-Mar-2044 15:41:30 GMT;HTTPOnly
Set-Cookie:cftoken=0;Path=/;Expires=Thu, 31-Mar-2044 15:41:30 GMT;HTTPOnly
문제를 이미 해결 한 경우; 질문 있니? 변환 기능을 설정하여 변환을 자동으로 수행 할 필요가 없도록 할 수 있습니다. 여기에서 자세한 정보 http://www.jeffryhouser.com/index.cfm/2013/10/1/Calling-a-ColdFusion-CFC-from-AngularJS and here http://victorblog.com/2012/12/20/ make-anglesjs-http-service-behave-like-jquery-ajax/ – JeffryHouser
제 생각 엔 이것이 서버 측 문제입니다. 각도 코드가 올바르게 보입니다. 아마도 서버가 json 매개 변수를 처리하도록 구성되지 않았습니까? – alexsanford1