ajax跨域传输(jsonp格式)

先抛个列子,转载自http://www.cnblogs.com/xcxc/p/3729660.html

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 : "get",
    url : "ajax.php",
    dataType : "jsonp",
    jsonp: "callback",//传递给请求处理程序或页面的,用以获得jsonp回调函数名的参数名(默认为:callback)
    jsonpCallback:"success_jsonpCallback",//自定义的jsonp回调函数名称,默认为jQuery自动生成的随机函数名,但是这一个没感觉有什么作用,只是在报错的时候看到了这个名字。不写会生成jquery20154184之类的名字
    success : function(json){
        alert('success');
    },
    error:function(){
        alert('fail');
    }
});
 

 ajax.php

<?php
 
$data = ".......";
$callback = $_GET['callback'];
echo $callback.'('.json_encode($data).')';
exit;
 
?>

说说在中间遇到的问题中间出现一个非法字符‘{‘的错误,主要是由于后端的数据问题,后端的json使用框架生成的,后来让后端自己用json_encode生成就ok了

 
原文地址:https://www.cnblogs.com/axl-study/p/5663580.html