jquery
JSONP 를 사용한 PHP 콜백
관절분리
2016. 1. 27. 18:24
반응형
jQuery 에서는 JSONP 데이터를 사용해서 같은 도메인 뿐만 아니라 다른 도메인끼리의 통신도 지원한다.
같은 도메인끼리는 자동으로 ajax 통신으로 변환된다.
요청받는 쪽 PHP: (login.php)
<?
include 'dbconnect.php';
$id = trim($_GET['id']);
$pass = md5(trim($_GET['pass']));
$sql = "SELECT * FROM members WHERE id='$id'";
$result = mysql_query($sql);
if (!mysql_num_rows($result)) {
$jsonData= json_encode(array('return'=>'잘못된 아이디입니다'));
} else {
$data = mysql_fetch_array($result);
if (trim($data[pass]) != $pass)
$jsonData = json_encode (array('return'=>'패스워드가 틀렸습니다'));
else{
$jsonData = json_encode(array('return'=>'로그인 되었습니다'));
}
}
echo $_GET['callback'] . '(' . $jsonData . ');';
?>
echo되는 데이터는 JSONP 형태로써 콜백함수를 포함하고 있다
요청하는 쪽 javascript:
2번째 인수로 콜백 함수를 지정한다.
<script type="text/javascript">
jQuery.getJSON("PHP_URL/login.php?email=YourEmail&pass=YourPassword&callback=?",
function(data) {
alert("return: " + data.return);
});
</script>
<주의>
여기서는 흔한 로그인을 예제로 두었지만 다른 도메인에서의 로그인 허용은 보안상 위험요소가 될수 있다.
출처 : http://cafe.naver.com/busanandroid/444
[출처] JSONP 를 사용한 PHP 콜백 |작성자 관절분리
반응형