PHP AJAX JSONP实现跨域请求使用实例
来源:互联网 发布:淘宝怎么符合分期付款 编辑:程序博客网 时间:2024/05/10 12:22
test.html
1
2
3
4
5
6
7
8
9
10
11
12
<!
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
1
2
3
4
5
6
7
8
9
10
11
12
13
$.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
1
2
3
4
5
6
7
8
<?php
$data
=
"......."
;
$callback
=
$_GET
[
'callback'
];
echo
$callback
.
'('
.json_encode(
$data
).
')'
;
exit
;
?>
jquery-1.5.2.min.js
自己上网下载
当使用jsonp时,使用 JSONP 形式调用函数时,如 "myurl?callback=?" jQuery 将自动替换 ? 为正确的函数名,以执行回调函数。
实例2
test.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<!
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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
$(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
1
2
3
4
5
6
7
8
<?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
.
')'
;
//返回格式,必需
?>
1 0
- PHP AJAX JSONP实现跨域请求使用实例
- PHP AJAX JSONP实现跨域请求使用实例
- PHP AJAX JSONP实现跨域请求使用实例
- PHP AJAX JSONP实现跨域请求使用实例
- PHP AJAX JSONP实现跨域请求使用实例
- PHP AJAX JSONP实现跨域请求使用实例
- PHP AJAX JSONP实现跨域请求使用实例
- PHP AJAX JSONP实现跨域请求使用实例
- ajax+jsonp+php 实现跨域请求
- PHP AJAX JSONP实现跨域请求
- 使用jsonp实现ajax跨域请求
- AJAX 跨域请求 – JSONP的使用,PHP实例详解
- AJAX 跨域请求 – JSONP的使用,PHP实例详解
- ajax跨域请求--jsonp实例
- ajax jsonp 跨域请求访问实例
- Ajax jsonp跨域请求实例
- ajax jsonp 跨域请求访问实例
- 使用jsonp方式实现ajax跨域请求
- ios开发系列 易疏忽点
- 集合的几种遍历,以(list为例)
- cocos2dx lua集成protobuf
- Eclipse/MyEclipse上配置Spring环境
- Unity关于对象池
- PHP AJAX JSONP实现跨域请求使用实例
- 动手敲算法——前言
- Android:SQLite数据库
- Android简单的Wifi语音对讲实现
- php-服务器与线程,进程
- Internal Error: [CoreUtil/General]: Access violation
- IMP-00058: 遇到 ORACLE 错误 1017 导入时登录失败
- Mipi 接口 和 LVDS 接口区别
- Android开发中小知识点记录