php jsonp如何設(shè)置回調(diào)函數(shù)

PHP
小樊
93
2024-07-25 23:54:11

在 PHP 中使用 JSONP 返回?cái)?shù)據(jù)時(shí),需要將回調(diào)函數(shù)作為參數(shù)傳遞給服務(wù)器端腳本,并將該回調(diào)函數(shù)作為 JSON 數(shù)據(jù)的一部分返回給客戶端。下面是一個(gè)簡(jiǎn)單的示例:

<?php
// 獲取回調(diào)函數(shù)名
$callback = $_GET['callback'];

// 數(shù)據(jù)
$data = array('name' => 'john', 'age' => 30);

// 將數(shù)據(jù)轉(zhuǎn)換為 JSON 格式
$json = json_encode($data);

// 返回 JSONP 數(shù)據(jù)
echo $callback . '(' . $json . ')';
?>

在客戶端,你可以使用 JavaScript 來(lái)發(fā)起 JSONP 請(qǐng)求,并指定回調(diào)函數(shù)名,如下所示:

var url = 'http://example.com/jsonp.php?callback=myCallback';

var script = document.createElement('script');
script.src = url;
document.body.appendChild(script);

function myCallback(data) {
  console.log(data);
}

在上面的示例中,服務(wù)器端返回的數(shù)據(jù)會(huì)被傳遞到 myCallback 函數(shù)中進(jìn)行處理。這樣就實(shí)現(xiàn)了在 PHP 中設(shè)置回調(diào)函數(shù)的功能。

0