2011-03-14 3 views
2

오늘 웹 사이트에서 jQuery의 버전을 1.4에서 1.5.1로 변경했지만 getJson 함수가 작동을 멈추는 함수가있었습니다 , 나는 API를 보았고 요청은 getRequest이므로 이전 버전과의 호환성이 있다고 가정했다.JQuery 1.4에서 1.5.1로 변경되었고 getJson이 작동을 멈췄습니다.

function EmailAutoComplete(firstName, lastName, target) { 
    // Query /AutoComplete/Email?FirstName=&LastName= for an e-mail 
    // list and populate the select box target with the results. 
    $.getJSON('@Url.Action("AutoComplete", "Email")', { 
     FirstName: firstName, 
     LastName: lastName 
    }, function(matchingEmails) { 
     var oldVal = target.val(); 
     target.empty(); 
     if (matchingEmails == null || matchingEmails.length == 0) { 
      target.append('<option value="">E-mail address not found</option>'); 
     } else { 
      $.each(matchingEmails, function(key, val) { 
       var selected = (val == oldVal) ? 'selected="selected"' : ''; 
       target.append('<option value="' + val + '" ' + selected + '>' + val + '</option>'); 
      }); 

      if (matchingEmails.length > 1) { 
       target.addClass("multipleEmailsAvailable"); 
      } else { 
       target.removeClass("multipleEmailsAvailable"); 
      } 
     } 
    }); 
} 

다른 사람이 같은 문제가 있었 : 여기

코드인가?

감사합니다. 알렉스.

답변

4

시도 대신 $.ajax()를 사용하고

dataType: "text json" jQuery를 1.5로, JQuery와 당신 이 무엇을 필요로 컨텐츠 유형 헤더에서받은 어떤에서 데이터 유형을 변환 할 수 있습니다 할당합니다. 예를 들어 텍스트 응답을 XML로 처리하려면 은 dataType에 "text xml"을 사용합니다. 도 JSONP 요청을 만들고 을 텍스트로 수신하고 jQuery로 XML : "jsonp text xml"로 해석 할 수 있습니다. 마찬가지로 "jsonp xml"과 같은 속기 문자열은 먼저 을 jsonp에서 xml로 변환하려고 시도하고 이 실패하고 jsonp에서 텍스트로 변환 한 다음 텍스트를 xml로 변환합니다.

+0

시도해 보시라.하지만 Json을 얻으려면 getJson을 사용하지 않는 이유는 무엇입니까? –

+1

http://api.jquery.com/jQuery.getJSON/ – Hussein

+0

읽어 주셔서 감사합니다. –

0

나는이 매우 동일한 문제에 부딪쳤다.

내 json 파일이 유효하지 않습니다.

내 json 파일을 수정 한 후 getJson이 다시 매력적으로 작동했습니다.

관련 문제