반응형
오류 jqxhr에 대한 Ajax GET URL
서버 사이드 코드에서 오류 처리 이벤트를 트리거하는 데 고의로 실패한 Ajax 요청이 있습니다.여기서 시도한 URL을 알 수 있을까요?저는 그 URL을 가져와서 하이퍼링크에 삽입하고 요청을 다시 시도하고 싶습니다.
이것이 가능합니까?
EDIT 시도된 URL 요청을 확인할 수 있습니다.FireBug
그리고 다음을 통해 jqxhr 객체를 검사했습니다.console.dir()
호출하려고 한 URL을 식별하는 데 도움이 되는 것을 찾을 수 없습니다.전역 변수를 저장하지 않는 것이 이상적입니다. 인수에서 이 값을 얻기를 희망했습니다.
잘 부탁드립니다, O.
$.ajax({
type: 'get',
url: 'somewhere/foo',
context: this,
success: this.mySuccess,
error: this.myError,
cache: false
});
myError = function (jqXhr, textStatus) {
alert(jqXhr.url); //Get url of failed request and inject it into hyper link?
};
저장url
변수로그리고 오류 기능에서 사용할 수 있습니다.분명히 url은 ajax 요청의 url 매개 변수에 제공된 것과 같을 것입니다.
var url = 'somewhere/foo';
$.ajax({
type: 'get',
url: url,
context: this,
success: this.mySuccess,
error: this.myError,
cache: false,
error: function(jqXHR, exception) {
//use url variable here
}
});
다른 옵션은 다음과 같습니다.
$.ajax({
type: 'get',
url: 'https://google.com',
context: this,
success: this.mySuccess,
error: this.myError,
cache: false,
beforeSend: function(jqXHR, settings) {
jqXHR.url = settings.url;
},
error: function(jqXHR, exception) {
alert(jqXHR.url);
}
});
가장 간단한 방법은 다음과 같습니다.
this.url
그this
url 특성을 가진 ajax 설정 개체로 제한해야 합니다.
@KhawerZeshan 답변에 추가.전 세계적으로 Ajax보다 먼저 설정하는 것이 좋습니다.
$.ajaxSetup({
beforeSend: function(jqXHR, settings) {
jqXHR.url = settings.url;
}
});
비동기 대기와 함께 사용하는 경우 이 방법을 사용합니다.
try {
await $.get('http://example.com');
} catch(e) {
console.log(e.url);
}
가장 쉬운 방법은 오류 콜백 컨텍스트의 Ajax 설정(JQueryAjaxSettings) 개체를 통해 URL에 액세스하는 것입니다.
$.ajax({
type: 'get',
url: 'somewhere/foo',
error: function() {
alert(this.url);
}
});
언급URL : https://stackoverflow.com/questions/18763182/ajax-get-url-on-error-jqxhr
반응형
'programing' 카테고리의 다른 글
Git는 파일 해시를 어떻게 계산합니까? (0) | 2023.08.16 |
---|---|
모양 전환 시작/종료에 대한 불균형 호출 (0) | 2023.08.16 |
$LastExitCode=0입니다만 $?= PowerShell에서 거짓.stdout으로 stderr을 리디렉션하면 Native CommandError가 발생함 (0) | 2023.08.11 |
PowerShell: 문자열과 일치하지 않는 경우 오류 종료 코드 반환 (0) | 2023.08.11 |
터미널을 통해 OS X의 adb에 액세스할 수 없습니다. "명령을 찾을 수 없습니다." (0) | 2023.08.11 |