test.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
<
meta
charset
=
"utf-8"
>
<
script
src
=
"http://cdn.bootcss.com/jquery/1.11.1/jquery.min.js"
></
script
>
<
script
>
function jsonpCallback(){
alert('jsonpCallback');
}
$(document).ready(function(){
$.ajax({
url: "http://127.0.0.1/jsonp.php",
data: {username:"admin", password: "admin"},
dataType: "jsonp",
jsonp: "callback",
success: function(data){
alert(JSON.stringify(data));
},
error:function(XHR, textStatus, errorThrown){
alert('error: ' + errorThrown);
}
});
});
</
script
>
|
jsonp.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
<?php
if
(!
empty
(
$_SERVER
[
'HTTPS'
]) && (
'on'
==
$_SERVER
[
'HTTPS'
])) {
$uri
=
'https://'
;
}
else
{
$uri
=
'http://'
;
}
$uri
.=
$_SERVER
[
'HTTP_HOST'
].
$_SERVER
[
'REQUEST_URI'
];
//获取jsonp回调函数的函数名,即url中callback=后面的值
$jsonp_callback
=
$_GET
[
'callback'
];
if
(
$_GET
[
'username'
] ==
'admin'
&&
$_GET
[
'password'
] ==
'admin'
){
$data
=
array
(
'msg'
=>
'登录成功'
);
}
else
{
$data
=
array
(
'msg'
=>
'用户名或密码错误'
);
}
$json
= json_encode(
$data
);
//返回jsonp的回调函数名和参数
echo
$jsonp_callback
.
'('
.
$json
.
')'
;
|