2014-03-31 2 views
0

제 동료가 개발 한 데모 웹 서비스에 대해 인증을 시도하고 있습니다. Chrome의 고급 나머지 클라이언트 플러그인에서 전화를 걸면 교차 출처 자원 공유가 허용되며 완벽하게 작동합니다. 내가 할 나는 코드에 액세스 할 때하지만 난 수 500 서버 오류JQuery Ajax RESTfull API에 대한 잘못된 요청

.ajax({ 
     type : "POST", 
     dataType: 'json', 
     url: 'CANTPOSTTHISURL/rest/session', 
     contentType: "application/json; charset=utf-8",  
     data: JSON.stringify({"username": "admin", "password": "admin" }), 
     success: function(response) 
     { 
      console.log(response); 
     }, 
     error: function (data, status) { 
      console.log('Sample of error data:', status); 
      console.log("readyState: "+data.readyState+"\nstatus: "+data.status+"\nresponseText: "+data.responseText); 
     }, 
     complete: function(xhr, status) { 
      console.log('COMPLETE'); 
     } 
    }); 

오류는 다음과 같습니다

OPTIONS CANTPOSTTHISURL/rest/session 500 (Internal Server Error) jquery.js:8475 
send jquery.js:8475 
jQuery.extend.ajax jquery.js:7930 
authenticate wts.js:5 
(anonymous function) wts.js:27 
jQuery.event.dispatch jquery.js:3045 
elemData.handle jquery.js:2721 
jQuery.event.trigger jquery.js:2957 
(anonymous function) jquery.js:3639 
jQuery.extend.each jquery.js:631 
jQuery.fn.jQuery.each jquery.js:253 
jQuery.fn.extend.trigger jquery.js:3638 
H jquery.mobile-1.3.0.min.js:2 
I jquery.mobile-1.3.0.min.js:2 
jQuery.event.dispatch jquery.js:3045 
elemData.handle jquery.js:2721 
OPTIONS CANTPOSTTHISURL/rest/session Invalid HTTP status code 500 jquery.js:8475 
send jquery.js:8475 
jQuery.extend.ajax jquery.js:7930 
authenticate wts.js:5 
(anonymous function) wts.js:27 
jQuery.event.dispatch jquery.js:3045 
elemData.handle jquery.js:2721 
jQuery.event.trigger jquery.js:2957 
(anonymous function) jquery.js:3639 
jQuery.extend.each jquery.js:631 
jQuery.fn.jQuery.each jquery.js:253 
jQuery.fn.extend.trigger jquery.js:3638 
H jquery.mobile-1.3.0.min.js:2 
I jquery.mobile-1.3.0.min.js:2 
jQuery.event.dispatch jquery.js:3045 
elemData.handle jquery.js:2721 
XMLHttpRequest cannot load CANTPOSTTHISURL/rest/session. Invalid HTTP status code 500 index.html:1 
Sample of error data: error wts.js:16 
readyState: 0 
status: 0 
responseText: wts.js:17 
COMPLETE 

및 헤더 :

Request URL:CANTPOSTTHISURL/rest/session 
Request Method:OPTIONS 
Status Code:500 Internal Server Error 
Request Headersview source 
Accept:*/* 
Accept-Encoding:gzip,deflate,sdch 
Accept-Language:en-US,en;q=0.8 
Access-Control-Request-Headers:accept, content-type 
Access-Control-Request-Method:POST 
Connection:keep-alive 
Host:CANTPOSTTHISURL 
Origin:http://127.0.0.1:8020 
Referer:http://127.0.0.1:8020/ppm/index.html 
User-Agent:Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.102 Safari/537.36 
Response Headersview source 
Access-Control-Allow-Origin:* 
Connection:close 
Content-Type:application/json 
Date:Mon, 31 Mar 2014 13:24:36 GMT 
Server:Wildfly 8 
Set-Cookie:GEAR=local-53185956500446bd39000020; path=/ 
Transfer-Encoding:chunked 
X-Powered-By:Undertow 1 
ConsoleSearch 

내가 생각하는 전송하는 데이터가 있지만 '{ "username": "admin", "password": "admin"}'또는 { "username": "admin", "password": "admin"}하지만 아무 것도 시도하지 않았습니다. 변경. 중요한 발언 : POST 또는 OPTION 요청 만 수행 할 수 있습니다. no jsonp 감사합니다.

+0

'500'응답 코드는 서버 측에서 문제가 있음을 의미합니다. 그 코드를 보지 않고는 도울 수 없게 될 것입니다. – mituw16

답변

-2

저는 stringify 메소드를 사용해야한다고 생각하지 않습니다.

나는 형식 아래 사용하고, 그 날 위해 작업 :

url : "http://localhost:9200/" + eleName + "/_suggest", 
type : "POST", 
dataType : "json", 
ContentType: "application/json; charset=utf-8", 
data:"{\"result\":{\"text\":\"" + request.term + "\",\"completion\":{\"size\" :10,\"field\":\"name_suggest\"}}}", 

는 JSON 형식의 문자열로 봅니다.

+0

감사합니다. 아래로 변경했지만 여전히 작동하지 않습니다. 데이터 : "{\"username \ ": \"admin \ ", \"password \ ": \"admin \ "}" ", – user3481262

+0

죄송합니다. contentType은 ajax 호출로 쓰여지므로 이렇게 보내면 그렇지 않을 것입니다. 415 오류가 발생합니다 – user3481262

+0

문자열은 JSON 형식이어야합니다. – Mani5556