2010-04-23 2 views
0

jQuery를 사용하여 서버에 동기식 AJAX 게시를 만들고 JSON 응답을 다시 가져 오려고합니다.jQuery : '데이터'로 가정 된 정의되지 않은 상수 데이터 사용

나는 성공적인 복귀에 자바 스크립트 변수 MSG를 설정하려는이 내 코드는 모습입니다

: 실수로 혼합 된

$(document).ready(function(){ 
    $('#test').click(function(){ 
    alert('called!'); 
    jQuery.ajax({ 
     async: false, 
     type: 'POST', 
     url: 'http://www.example.com', 
     data: 'id1=1&id2=2,&id3=3', 
     dataType: 'json', 
     success: function(data){ msg = data.msg; }, 
     error: function(xrq, status, et){alert('foobar\'d!');} 
    }); 
}); 

[편집]

PHP와 자바 스크립트 내 이전 xode에서 (지금 수정 됨). 그러나, 나는 지금이 훨씬 더 암호 같은 오류 메시지가 :

캐치되지 않는 예외 : [예외 ... "구성 요소는 반환 된 오류 코드 :가 0x80070057 (NS_ERROR_ILLEGAL_VALUE) nsIXMLHttpRequest.open]"nsresult "가 0x80070057 (NS_ERROR_ILLEGAL_VALUE)"위치 : "JS 프레임 :: http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js :: anonymous :: line 19"data : no "

무엇이 ...?

+0

유효한 JSON을 인쇄하여 PHP 스크립트입니다 서식있는 텍스트? –

답변

1

, 당신은 자바 스크립트와 PHP 코드를 혼합된다 아마도 당신이하고 싶은 일이 아닐 것입니다.

당신은 알고 있어야합니다

  • PHP는 서버 측에서 실행됩니다; .PHP 파일을
  • 자바 스크립트는 클라이언트 측 (브라우저)


success 콜백에 푹 기능 만 더 ​​PHP가없는 클라이언트 측에 실행됩니다에서 실행됩니다 실행; 서버 측에서 PHP 스크립트에 의해 보내진 데이터를받을 것이다. (Ajax 요청을받는 서버).

data은 (는) success에 연결된 함수에 의해 수신 된 것으로 자바 스크립트 객체입니다.

success: function(data){ msg = data.msg; }, 

즉 어떤 PHP 코드를 여기에 : 여기,이 같은 것을 사용하지 않으려 수 있음을 의미합니다
.



영업의 코멘트 + 편집 후 편집

당신은 "NS_ERROR_ILLEGAL_VALUE nsIXMLHttpRequest.open"오류가있다; 이는 Ajax 요청에 대해 불법 URL을 전달하고 있음을 의미합니다.

jQuery.ajax으로 전달하는 URL이 올바른지 확인하십시오. 예를 들어

:

  • 그것은 빈 안
  • 그것은 당신의 응용 프로그램과 같은 도메인 이름의 URL을 가리켜 야합니다
+0

+1 @ 파스칼 : 내 어리석은 실수를 지적 해 주셔서 고맙습니다. – morpheous

+0

@pascal : (평소와 같이) 다시 자리를 잡으십시오. 나는 방금 실험을하고 그 원인을 발견하고 마지막 편집을 제거하려고했습니다. URL은 빈 문자열입니다. – morpheous

+0

당신을 환영합니다 :-) ;;; 다행히 ;-) 읽으십시오. –

1

출력하려는 ​​문자열이 인용되지 않습니다. 시도 :

success: function(data){ msg = <?php echo "data.msg;"; ?> }, 

정말 지점이 표시되지 않는 이유는 단지하지 :

당신의 success 콜백에서
success: function(data){ msg = data.msg }, 
+0

+1 karim : 내 어리석은 실수를 지적 해 주셔서 감사합니다. – morpheous

관련 문제