2014-02-26 3 views
0

API를 호출하는 HTML 페이지가 있지만 실행할 때마다 [object Error]이 계속 실행됩니다. 이 오류에 대한jQuery ajax가 [object error]를 반환합니다.

jQuery.support.cors = true; 
jQuery.ajax({ 
    type: "POST", 
    url: "https://xxxx:8440/ora/authenticationService/authentication/signIn", 
    contentType: "application/json", 
    dataType: "json", 
    data: "{'requestParameters':{'username':'xxxx', 'password':'xxxx'}}", 
    success: function (data, status, jqXHR) { 
     alert('exito!'); 
    }, 
    error: function(jqXHR, status, errorThrown) { 
     alert("Falla : " + errorThrown); 
    } 
}); 

어떤 아이디어 : 여기

내 코드?

+0

이 코드에서 오류가 발생합니까? –

+2

alert() 명령은 전달 된 항목에 대해 단순히 toString()을 호출하기 때문에 오류 객체의 문자열 표현이 표시됩니다. 'alert (errorTHrown)'대신'console.log (errorThrown)'을 사용하면, 경고 프롬프트보다 콘솔에서 더 많은 정보를 볼 수 있습니다. –

답변

0

이미 내 프로젝트에 대한 해결책을 찾았지만 JQuery와 함께 할 수없는, .NET 여기

과 관련이있다 누군가 도움이된다면 코드의 조각입니다 : 모든

WebRequest request = WebRequest.Create("https://xxxxxx/ora/authenticationService/authentication/signIn"); 
    request.Method = "POST"; 

    string postData = "{\"requestParameters\":{\"username\" : \"xxxx\", \"password\":\"xxxx\"}}"; 
    byte[] byteArray = Encoding.UTF8.GetBytes(postData); 

    request.ContentType = "application/json"; 
    request.ContentLength = byteArray.Length; 

    System.Net.Security.RemoteCertificateValidationCallback valor = new System.Net.Security.RemoteCertificateValidationCallback(ValidateServerCertificate); 
    ServicePointManager.ServerCertificateValidationCallback = valor; 

    Stream dataStream = request.GetRequestStream(); 
    dataStream.Write(byteArray, 0, byteArray.Length); 
    dataStream.Close(); 

    WebResponse response = request.GetResponse(); 
    dataStream = response.GetResponseStream(); 

    StreamReader reader = new StreamReader(dataStream); 

    string responseFromServer = reader.ReadToEnd(); 

    HttpContext httpContext = HttpContext.Current; 
    NameValueCollection headerList = response.Headers; 

    HttpContext.Current.Session["JSESSIONID"] = headerList.Get("Set-Cookie"); 


    reader.Close(); 
    dataStream.Close(); 
    response.Close(); 

감사합니다 !

0

가장 일반적인 설명은 JSON을 보내고 있지만 JSON이 유효하지 않다는 것을 알리면 서버에서 오류가 발생한다는 것입니다.

'을 사용하여 JSON의 문자열을 구분할 수 없습니다.

손으로 JSON을 작성하고 JavaScript 객체를 생성 한 다음 JSON 직렬화 라이브러리를 사용하지 마십시오.

data: JSON.stringify({requestParameters:{username:'xxxx', password:'xxxx'}), 
+0

그런 식으로해라. 그러나 지금 나에게 아무것도주지 않는다 (성공도 실패도). – nogomon

0

나는 브라우저 설정하지, 고르을 지원하는 경우 jQuery.support.cors = true; 만 확인하는 데 사용됩니다 믿습니다.

아마도 JSON 대신 JSONP를 사용해보세요. JSONP는 도메인 간 데이터 요청을 위해 특별히 설계되었습니다.

+0

해당 행을 제거하는 경우 주어진 오류는 "전송 없음"입니다. 오류에 대한 내용을 읽었습니다. 오류가 발생하면 해당 행을 수정하여 줄 수 있습니다. – nogomon

관련 문제