ajax跨域传输JSONP

前端之家收集整理的这篇文章主要介绍了ajax跨域传输JSONP前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

环境
后台 Apache2.2 PHP5.5 MysqL 5.2 不是ASP的
例子
前台
代码: (请将此 复制随便的 HTML文件里)

<html>
headscriptsrc="jquery.js"></script$(function(){
'#send'
).click(.ajax({
type:"POST",
url"http://127.0.0.1/admin.php/java"data: {},0);">dataType"JSONP"// jsonp: "jsonpReturn",
jsonpCallback"jsonpReturn"success(data){
alert'成功');
(data.test1);
(data.test2);
(data.test3);
},0);">error(XMLHttpRequest,textStatus,errorThrown) {
(XMLHttpRequest.statusreadyState(textStatus);
}
});

</bodydivid='send'style="width500px;heightbackground-colorgreen"bbbbb
div>

后台
代码
1.主要方法 不管是什么框架的 包含此方法然后返回值用 ajaxReturn 就可以(重要说明 这里的 方法名字必须要在访问的HTML中 声明ajaxcallback 方法 名字 为此


ajaxReturn($data$type='') {
ifempty))'JSON';
switch(strtoupper)){
case:
// 返回JSON数据格式到客户端 包含状态信息
header'Content-Type:application/json; charset=utf-8');
exit(json_encode());
'XML'// 返回xml格式数据
'Content-Type:text/xml; charset=utf-8'(xml_encode('JSONP'$handlerisset$_GET['VAR_JSONP_HANDLER']) ?] :'jsonpReturn''('.json_encode().');''EVAL'// 返回可执行的js脚本
'Content-Type:text/html; charset=utf-8');
}
}

调用方法代码

<?PHP
/**
* Created by PHPStorm.
* User: Administrator
* Date: 2015-10-06
* Time: 0:21
*/
classJava {

index(){
array"test1"=>"aaa""test2""bbb""test3""ccc"// P(ajaxReturn($data,'JSONP'));
);


// $this->display();
}
}

最后访问这个控制器就可以了
成功 返回的就是

转载请声明
------爷是大腿@H_502_330@

猜你在找的Ajax相关文章