2012-02-24 2 views
0

HeyHo,jQuery, JSON 및 PHP

다음 웹 사이트에 이름을 입력하고 버튼으로이 이름을 제출합니다.

HTML 코드 : 나는 버튼을 클릭있어 경우

<!DOCTYPE html> 
<html> 
    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
     <title>AJAX</title> 
     <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.1/jquery.min.js"></script> 
     <script type="text/javascript" src="js/jquery.js"></script> 
    </head> 
    <body> 
     <div><input type="button" id="ajaxButton" value="start"></div> 
     <div><input type="text" id="name"></div> 
     <div id="content"></div> 
    </body> 
</html> 

, jQuery를 내 응답을 만들어 내 PHP 스크립트에 AJAX 요청을 보냅니다.

jQuery를 코드 :

$(document).ready(function() { 
    $('#ajaxButton').click(function() { 
     var name = encodeURIComponent($('#name').val()); 
     $.ajax({ 
      url   : "js/script.php", 
      type  : "POST", 
      data  : "name="+name, 
      dataType : "json", 
      success : function (data) { 
       alert(data['hello']); 
       var json = $.parseJSON(data); 
       alert(json.hello); 
       $("#content").html(json.hello); 
      } 
     }); 
    }); 
}); 

내 PHP 스크립트는 응답을 생성하고 JSON 배열로 인코딩합니다.

PHP 코드 :

<?php 

if (isset($_POST['name'])) { 
    $ret = Array("hello" => "Hallo " . $_POST['name']); 
    echo json_encode($ret); 
} 
?> 

내 코드를 실행하고 있습니다 만 alert(data['hello']);은 팝업 및 alert(json.hello);하지 않습니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까?

건배 ei.schinken

+0

대신 data.hello를 사용하십시오. json.hello – silly

답변

5

var json = $.parseJSON(data);은이 켜지지 없습니다.

dataType$.ajax의 속성이 json으로 설정되었으므로 모든 응답은 json으로 해석됩니다.

사용 alert(data.hello);