Avant, j'ai écrit "Un exemple simple de php renvoyant des données json", "php renvoie un problème d'affichage chinois des données json" et "Utiliser JSON en langage PHP et réduire json dans un tableau". J'espère que cela aide tout le monde.
Exemple 1
test.html
<!doctype html> <html> <head> <meta charset="utf-8"> <title>test</title> <script src="jquery-1.5.2.min.js"></script> <script src="ajax.js"></script> </head> <body> </body> </html>
ajax.js
$.ajax({ type : "post", url : "ajax.php", dataType : "jsonp", jsonp: "callback",//传递给请求处理程序或页面的,用以获得jsonp回调函数名的参数名(默认为:callback) jsonpCallback:"success_jsonpCallback",//自定义的jsonp回调函数名称,默认为jQuery自动生成的随机函数名 success : function(json){ alert('success'); }, error:function(){ alert('fail'); } });
ajax.php
<?php $data = "......."; $callback = $_GET['callback']; echo $callback.'('.json_encode($data).')'; exit; ?>
jquery-1.5.2.min.js
Téléchargez-le vous-même
Lors de l'utilisation de jsonp, lors de l'appel de fonctions sous forme JSONP, telles que "myurl?callback=?" jQuery remplacera automatiquement ? par le nom de fonction correct pour exécuter la fonction de rappel.
Exemple 2
test.html
<!doctype html> <html> <head> <meta charset="utf-8"> <title>test</title> <script src="jquery-1.5.2.min.js"></script> <script src="ajax.js"></script> </head> <body> <form name="form"> <input type="text" name="sex"> <input type="text" name="age"> <input type="button" id="btn" value="button" /> </form> </body> </html>
ajax.js
$(document).ready(function(){ $("#btn").click(function(k) { //... var j = $("form").serializeArray();//序列化name/value $.ajax({ type: 'GET', //这里用GET url: 'ajax.php', dataType: 'jsonp', //类型 data: j, jsonp: 'callback', //jsonp回调参数,必需 async: false, success: function(result) {//返回的json数据 alert(result.message); //回调输出 result = result || {}; if (result.msg=='err'){ alert(result.info); }else if (result.msg=="ok"){ alert('提交成功'); }else{ alert('提交失败'); } }, timeout: 3000 }) //... }); });
ajax.php
<?php $callback = isset($_GET['callback']) ? trim($_GET['callback']) : ''; //jsonp回调参数,必需 $date = array("age"=>$_GET['age'], "message"=>$_GET['age']); $date["msg"]="err"; $date["info"]="因人品问题,发送失败"; $tmp= json_encode($date); //json 数据 echo $callback . '(' . $tmp .')'; //返回格式,必需 ?>
jquery-1.5.2.min.js
Téléchargez-le vous-même depuis Internet
Recommandations associées :
Analyse de l'instance du service de requête inter-domaines JS
Méthodes de traitement des requêtes inter-domaines front-end et back-end Ajax
Vue utilise une explication détaillée de l'instance de données de requête inter-domaines axios
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!