맛집 여행 캠핑 일상 생활

[jQuery] AJAX 외부도메인 PHP 호출 예제 본문

jQuery

[jQuery] AJAX 외부도메인 PHP 호출 예제

영은파더♥ 2019. 6. 21. 14:41

jQuery AJAX 로 자신의 도메인이 아닌 다른 외부도메인의 주소를 호출시 일반적인 방법으로 값을 가져올 수가 없습니다.

타도메인을 호출할 때는 dataType 을 jsonp 로 설정하여야 하고 PHP 에서는 callback 함수로 리턴하여야 합니다.

example.html

  예제1) jsonpCallback 을 설정한 경우

function myCallFunction(v) {
	alert(v.param1 + ", " + v.param2);
}

$(document).ready(function(){
	var request = $.ajax({
		type: 'POST',
		data: {param1:'v1',param2:'v2'},
		url: 'https://www.ivps.kr/zipcode/ajax-request.php',
		dataType: "jsonp",
		jsonpCallback: "myCallFunction",
		success:function(result){
			console.log('ret : ' + result);
		}
	});
});

 

  예제2) jsonpCallback 설정이 없는 경우

$(document).ready(function(){
	var request = $.ajax({
		type: 'POST',
		data: {param1:'v1',param2:'v2'},
		url: 'https://www.ivps.kr/zipcode/ajax-request.php',
		dataType: "jsonp",
		success:function(result){
			console.log('ret : ' + result);
			alert(result.param1 + ", " + result.param2);
		}
	});
});

  둘 다 됩니다.
  설정하면 설정한 자바스크립트 함수가 호출되고 success 함수가 실행됩니다.
  미설정시 success 함수에서 처리를 하면 됩니다.

ajax-request.php

<?php
	header('Content-Type: text/html; charset=UTF-8');

	$callback = $_REQUEST['callback'];
	$param1 = $_REQUEST['param1'];
	$param2 = $_REQUEST['param2'];

	$result = array("param1" => $param1, "param2" => $param2);
	echo $callback."(". json_encode($result) .")";
?>

간단한 예제이니 입맛에 맞게 수정하시면 됩니다.

 

Trackback : | Comments :