>웹 프론트엔드 >JS 튜토리얼 >jQuery가 JSONP를 사용하여 도메인 간 데이터를 얻는 세 가지 방법

jQuery가 JSONP를 사용하여 도메인 간 데이터를 얻는 세 가지 방법

小云云
小云云원래의
2018-05-23 09:22:134444검색

이 기사에서는 JSONP를 사용하여 도메인 간 데이터 수집을 수행하는 세 가지 jQuery 방법을 주로 소개합니다. 또한 jsonp 크로스 도메인 데이터 수집의 세 가지 일반적인 작업 기술을 예제 형식으로 비교하고 분석합니다. 그것이 모두에게 도움이 되기를 바랍니다.

첫 번째 방법은 ajax 함수에서 dataType을 'jsonp'로 설정하는 것입니다

$.ajax({
  dataType: 'jsonp',
  url: 'http://www.a.com/user?id=123',
  success: function(data){
    //处理data数据
  }
});

두 번째 방법은 getJSON을 사용하는 것입니다. 주소에 callback=? 매개변수를 추가하면 됩니다

$.getJSON('http://www.a.com/user?id=123&callback=?', function(data){
  //处理data数据
});

세 번째 방법은 getScript 메서드를 사용하는 것입니다.

//此时也可以在函数外定义foo方法
function foo(data){
  //处理data数据
}
$.getScript('http://www.a.com/user?id=123&callback=foo');

예제 연습:

index.html

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>jsonp</title>
<script src="jquery-1.8.0.min.js"></script>
<script>
  $.ajax({
    type : "post",
    url : "jsonp.php?name=zhaoxiace&age=30",
    dataType : "jsonp",
    jsonp: "callbackParam",//传递给请求处理程序或页面的,用以获得jsonp回调函数名的参数名(默认为:callback)
    jsonpCallback:"callbackFunction",//自定义的jsonp回调函数名称,默认为jQuery自动生成的随机函数名
    success : function(data){
      console.log(data.statusCode + "/" + data.message + "/" + data.name + "/" + data.age);
    },
    error:function(){
      alert(&#39;请求失败&#39;);
    }
  });
</script>
</head>

jsonp.php

<?
$data["age"] = $_GET[&#39;age&#39;];
$data["name"] = $_GET[&#39;name&#39;];
$data["statusCode"]="200";
$data["message"]="成功";
$tmp= json_encode($data); //json数据
echo $callback . &#39;(&#39; . $tmp .&#39;)&#39;; //返回格式,必需
?>

관련 권장 사항:

방법 HTML5 도메인 간 통신

jQuery Jsonp 도메인 간 시뮬레이션 검색 엔진 예제 공유

Native JS는 ajax 및 ajax 도메인 간 요청을 구현합니다

위 내용은 jQuery가 JSONP를 사용하여 도메인 간 데이터를 얻는 세 가지 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.