2012-10-23 2 views
0

이것은 정말로 저조했습니다. 처음에는 JSON을 실제로 사용하고 있으므로 분명히 나와 함께있는 경우 맨손으로하십시오.JSON을 호출 할 때 200 OK 오류가 발생했습니다.

나는 다른 모든 오류를 지났지 만 이제 페이지에 성공적으로 연결되면 방화범 뚜껑에 200 OK 오류가 나타나고 오류가 가장 적은 오류는 발생했습니다.

<div class="placeholder"></div> 
<script language="JavaScript" type="text/javascript"> 
    $(document).ready(function(){      
    $(function(){ 
     $("a[href*='/site/apps/kb/cs/contactdisplay.asp']").click(function(e){ 
      var orgUrl = $(this).attr("href") + "&r=1"; 
      e.preventDefault(); 
      $.getJSON(orgUrl, 
      function(data){ 
       $("placeholder").html("<strong>" + data.companyName + "</strong>"); 
      }); 
     }); 
    }); 
    }); 
</script> 

이에 대한 회사의 링크 중 하나를 클릭하고 대상에서 값을 잡기 위해 동적 URL을 호출합니다 : http://www.kintera.org/site/apps/kb/cs/contactsearch.asp?c=biIQI0NJKiKYF&b=8383853&submit=submit

당신이 내가 뭐하는 거지 볼 수 있습니다. 렌더링 된 소스 HTML에 대한 제어권이 없지만 json 객체에 원하는 출력을 넣을 수있었습니다. 이제 트릭이 그것을 반환합니다.

예, 호출하는 페이지는 HTML이지만 JSON 개체가 포함되어 있습니다. Workplace 6 링크의 예는 다음 위치에서 가져옵니다. http://www.kintera.org/site/apps/kb/cs/contactdisplay.asp?c=biIQI0NJKiKYF&b=8383853&sid=efIOKYMEJhIKLYMxHkH&r=1. 소스를 보면 JSON이 표시됩니다.

+8

200 응답은 "성공"을 의미합니다. 그것은 오류가 아닙니다. – Pointy

+8

http : // https : * "XMLHttpRequest는 [...]로드 할 수 없습니다. 출처 : https : // www.kintera.org는 Access-Control-Allow-Origin이 허용하지 않습니다."* 다른 하나는 요청 된 URL이 JSON이 아니라 HTML을 반환한다는 것입니다. 그래서'$ .getSON'은 작동하지 않습니다. 그래도'$ .get '을 사용할 수 있어야합니다. 아마도 JSON이 실제로 무엇인지 다시 읽으면 도움이 될 것입니다 : http://en.wikipedia.org/wiki/Json. 어떤 종류의 JavaScript 객체를 원한다고 할 수 있습니까? –

+0

'data.companyName'은 어디에서 가져와야합니까? –

답변

0
문제의

부 (당신이 게시 된 링크에서) 당신이 링크에서 점점 href를가 https://보다는 ... http://을 의미한다는 것이다 - 이들은 서로 다른 기원을 계산하므로 CORS 규칙은 아약스 요청을 중단합니다 웹 콘솔에서 요청을 '취소됨'으로 표시하십시오.

다른 부분은 요청한 페이지가 json을 반환하지 않는다는 것입니다. 대상 페이지가 인 mime-type의 {"companyName":"foo"}과 같은 것으로 응답하도록하고 싶을 것입니다.

+0

.load()로 변환하여 수정했습니다. –

0

JSON에서 .load()로 변경하여이 문제를 해결했습니다. 문서화 목적으로 여기에 내가 무엇을 가지고 끝났어.

<script> 
$(document).ready(function(){ 
    //Call for results 
    $(function(){ 
     $("a[href*='/site/apps/kb/cs/contactdisplay.asp']").click(function(e){ 
      var orgUrl = $(this).attr("href") + "&r=1"; 
      e.preventDefault(); 
      $.get(orgUrl, function(data){ 
       $(".placeholder").html($(data).find(".nameContainer").html()); 
      }) 
     }); 
    }); 
}); 
</script> 

즉, HTML에 포함 된 JSON에서 코드를 HTML로 제거했습니다.

관련 문제