ajax通过jsonp跨域传值给php,ajax成功发送数据,但php接收不到数据

不想当小白 不想当小白 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
在网上找的代码如下:
前端网页代码:
<!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代码:
$(document).ready(function(){

$("#btn").click(function(k) {
//...
var j = $("form").serializeArray();//序列化name/value
// var test_sname = 6;
$.ajax({
type: 'GET', //这里用GET
url: 'testajax.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
})
//...
});

});


后端php代码:
$test_ajax_callback = isset($_GET['callback']) ? trim($_GET['callback']) : ''; //jsonp回调参数,必需

if(!empty($test_ajax_callback)){
// $test_dbp_sname = 5;
$test_ajax_date = array("age"=>$_GET['age'], "message"=>$_GET['sex']);
$test_ajax_date["msg"]="err";
$test_ajax_date["info"]="因人品问题,发送失败";
$test_ajax_tmp= json_encode($test_ajax_date); //json 数据
echo $test_ajax_callback . '(' . $test_ajax_tmp .')'; //返回格式,必需
}


现在运行这个代码,前端页面会执行success里面的弹出框(应该就是代表ajax成功传出去数据了吧?),但php端却显示接收不到数据。

这个问题困扰我三天了,真的快疯掉了,希望各位能够帮助我解决这个问题,非常感谢!
...全文

相关推荐

评论 2
收藏 已收藏
分享
返回顶部
不想当小白
Ajax 52,778 成员 25,334 内容