微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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();
}
}

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

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

原文地址:https://www.jb51.cc/ajax/161967.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐