ajax 동적 a 태그 href 할당 이 점프 를 실행 하지 않 는 원인 분석 및 해결

1870 단어 ajaxhref점프
1 중 평가 시스템 에 새로운 기능 인'설 문 지'를 추가 해 야 하기 때문에 저 는 다른 사람 이 만 든 설 문 지 를 이용 하고 싶 습 니 다.다른 사람의 장점 중 하 나 는 바로 사람들 이 하 는 전공,인터페이스 미화 등 이 매우 인성 화 된 것 입 니 다.그러나 설 문 지 를 설치 한 후에 인터넷 주 소 를 보 내 고 클 라 이언 트 가 방문 할 때마다 변 경 된 주 소 를 보 내야 합 니 다.클 라 이언 트 가'설 문 지'를 클릭 할 때마다 해당 페이지 로 이동 합 니 다 '설 문 지'를 클릭 하면 설 문 지 페이지 에 들 어 갑 니 다 저 는 a 라벨 을 사용 합 니 다.관리자 가 제출 한'설 문 지'를 방문 할 때마다
 
<li><a href="" onclick="meizz(this)"> </a></li>
'설 문 지'를 클릭 하여 meizz 함 수 를 호출 합 니 다.이 함 수 는 ajax 를 통 해 방문 할'설 문 지'주 소 를 되 돌려 줍 니 다
 
<script type="text/javascript" language="javascript">
function meizz(e) {
$.ajax({
//async:false, // ajax
type: "get", //get
url: "../handler/QueryQuestionnaire.ashx",
// , json ,
success: function (strJson) {
//
var dataArray = eval(strJson);
e.href = dataArray[0].Questionnaire;//
},
// ,
error: function (XmlHttpRequest, textStatus, errorThrown) {
alert(XmlHttpRequest.responseText);
}
});
}
</script>
현상 은 e.href 가 함수 의$.ajax 위 에 놓 으 면 실행 할 수 있 지만 ajax 에 동적 으로 돌아 오 는 주 소 를 연결 하면 실행 할 수 없습니다.답답 한 끝 에 답 을 찾 았 습 니 다.ajax 기본 호출 은 비동기 이기 때문에 ajax 호출 처리 반전 함수 가 href 할당 이 되 지 않 고 href 를 직접 시 작 했 습 니 다.여기 서 href 는 빈 값 입 니 다.해결 방법:ajax 호출 방법 을 동기 화 하 는 것 으로 바 꾸 고 ajax 호출 방식 을 동기 화 하 는 것 을 설명 합 니 다
 
$.ajax({
async:false, // ajax
}
그러면 href 의 실행 은 function 에서 ajax 호출 이 완 료 된 후에 야 촉발 되 고 원 하 는 결 과 를 얻 을 수 있 습 니 다.

좋은 웹페이지 즐겨찾기