2012-01-30 1 views
3

웹 사이트 xyx.com에 나머지 API 호출을해야합니다.HT 자바 스크립트 또는 jquery를 사용하여 IE에서 액세스

이것은 일반적인 인증을 가지고 있으며 jquery에서 구현했습니다.

return $.getJSON('xyx.com/restapi/login?userid=aaa&pass=qqq'+"&xslt=json.xsl& 
callback=?",function(jsonResult) 
{ 
    if(jsonResult.response.status == 'success') 
    { 
     ... 
     ... 
    } 
},"jsonp"); 

위의 노력 벌금을 말한다. MSF 및 sks11의 *는 HT 액세스 자격 증명이

http://msf:sks1l*@xyx.com/restapi/login?userid=aaa&pass=qqq 

을 다음과 같이 이제 HT 액세스 위의 사이트 xyx.com

에 제공

나는해서 getJSON 위에 사용되는 URL을 대체했다.

위 항목은 FF에서는 제대로 작동하지만 IE에서는 정상적으로 작동하지 않습니다.

가능한 모든 해결책 또는 해결 방법.

답변

2

$.getJSON()은 특정 종류의 $.ajax() 호출의 바로 간략한 표현입니다. jQuery 문서는 세부 정보를 표시합니다 : http://api.jquery.com/jQuery.getJSON/. http://api.jquery.com/jQuery.ajax/에서 $.ajax() 문서를보고

$.ajax({ 
    url: url, 
    dataType: 'json', 
    data: data, 
    success: callback 
}); 

그리고는 말한다 :

If the server performs HTTP authentication before providing a response, the user name and password pair can be sent via the username and password options.

그래서 그냥 $.ajax() 양식을 사용하고과 같이, 사용자 이름과 암호를 전달 :

$.ajax({ 
    url: "http://xyx.com/restapi/login?userid=aaa&pass=qqq", 
    dataType: 'json', 
    success: function(jsonResult) { 
     /* your success code */ 
    }, 
    username: 'msf', 
    password: ':sks1l*@' 
}); 
$.getJSON은 동등하다
+0

그게 전부입니다. Ben에게 감사드립니다. – rozar

+0

이것은 Firefox에서 완벽하게 작동합니다. 그러나 IE에서 실패합니다. 질문에 언급했듯이 "http : // msf : sks1l*@xyx.com/restapi/login? userid = aaa & pass = qqq"는 FF에서는 작동하지만 IE에서는 작동하지 않습니다. 나는 IE가 HT Access 사용자 이름과 암호를 선택하지 않고 HT Access 사용자 이름과 암호를 제공하는 대화 상자를 던지고 있다고 가정합니다. – rozar

+0

Firefox에서도 작동하지 않습니다. 다음 오류 받기 "NetworkError : 401 인증 필요 - http : \\ msft.com/restapi/vc/authentication/sessions/login?user.login=admin&user.password=come01&xslt=json.xsl&callback=jQuery17103062594674032523_1327929663010&_=1327929689677"대화 상자 HT 자격 증명을 제공합니다. – rozar

관련 문제