ajax通过jsonp跨域传值给php,ajax成功发送数据,但php接收不到数据
在网上找的代码如下:
前端网页代码:
ajax代码:
后端php代码:
现在运行这个代码,前端页面会执行success里面的弹出框(应该就是代表ajax成功传出去数据了吧?),但php端却显示接收不到数据。
这个问题困扰我三天了,真的快疯掉了,希望各位能够帮助我解决这个问题,非常感谢!
前端网页代码:
<!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端却显示接收不到数据。
这个问题困扰我三天了,真的快疯掉了,希望各位能够帮助我解决这个问题,非常感谢!
...全文
相关推荐
原生JS实现ajax与ajax的跨域请求实例
一、原生JS实现ajax 第一步获得XMLHttpRequest对象 第二步:设置状态监听函数 第三步:open一个连接,true是异步请求 第四部:send一个请求,可以发送一个对象和字符串,不需要传递数据发送null 第五步:在监听函数中,判断readyState=4&&status=200表示请求成功 第六步:使用responseText、responseXML接受响应数据,并使用原生JS操作DOM进行显示 var ajax = new XMLHttpRequest(); ajax.onreadystatechange = function(){ console.log(ajax.r
Javascript跨域和Ajax跨域解决方案
NULL 博文链接:https://sun123start.iteye.com/blog/2150778
PHP AJAX JSONP实现跨域请求使用范例_ajax如何解决跨域请求
PHP AJAX JSONP实现跨域请求使用范例
jquery ajax跨域html前台 php后台
jquery ajax json 跨域不解释,代码很简单 没几句话
Vue项目中跨域问题解决方案
本文给大家介绍了vue项目中跨域问题的完美解决方案,通过更改header,使用http-proxy-middleware 代理解决(项目使用vue-cli脚手架搭建),具体内容详情大家跟随脚本之家小编一起学习吧


