코드 숨김 웹 메소드에 대한 jquery ajax POST가 있습니다. 해당 webmethod에서 json을 반환하는 제 3 자 웹 API 서비스에 HttpWebRequest를 수행합니다. httpwebrequest가 정상적으로 작동하더라도 브라우저에 자격 증명을 입력하라는 팝업이 표시됩니다 (인증 필요). 내 컴퓨터에서는이 방법이 잘 작동하지만 배포 할 때 httpwebrequest 호출에서 반환 된 데이터가없는 경우를 제외하고는 없습니다.jquery ajax 호출이 401 권한이 없으면 실패합니다.
JQuery와 전화 : 여기
function serverCall(httpMethod, pageName, methodName, inputData, successCallback, errorCallback, disableGlobalAjaxEvents) {
// Construct the url
var url = pageName + "/" + methodName;
var triggerGlobalEvents = true;
if (disableGlobalAjaxEvents && disableGlobalAjaxEvents == true) {
triggerGlobalEvents = false;
}
$.ajax({
type: httpMethod,
url: url,
data: JSON.stringify(inputData),
contentType: "application/json; charset=utf-8",
global: triggerGlobalEvents,
dataType: "json",
success: function(msg) {
if (successCallback) {
var parsedObject = JSON.parse(msg.d);
successCallback(parsedObject);
}
},
error: function(error, status) {
if (errorCallback) {
errorCallback(error, status);
}
}
});
그리고 실제 호출입니다 :
serverCall("POST", "SomePage.aspx", "GetSomething", inpuData, onSuccess, onError, true);
의 WebMethod :
[WebMethod(
CacheDuration = 5,
EnableSession = true)]
public static string GetSomething(string user, string item)
{
// In the body i do the HTTPWebRequest that returns JSON
}
코드 조각을 주시면 감사하겠습니다. – Bhuvan