首页 > 其他 > 详细

chrome提示错误:CAUTION:Provisional headers are shown 解决办法

时间:2014-08-12 13:45:24      阅读:430      评论:0      收藏:0      [点我收藏+]

最近作微信的开发因为前台和后台不再一个地方办公,前台也不会写php和ajax所以就造成了一种我些后台服务,她写前台调用的模式,让她的ajax直接访问我的服务端口,我提供给她数据,类似于写接口一样,于是问题出来了.前台ajax访问请求总是执行error.事例代码如下

前台测试代码index.html:

<!DOCOMENT html>
<html>
	<head>
		<title>测试</title>
		<script type="text/javascript" src="http://code.jquery.com/jquery-1.11.1.min.js"></script>
		<meta charset="UTF-8"/>
	</head>

	<body>
		<input type="button" onclick="test();" value="ajax"/>
		<script type="text/javascript">
			function test(){
				$.ajax({
					type:'get',
					url:"http://localhost/php5.5/test.php",
					success:function(data){
					
						alert(data);
					},
					error:function(data){
						alert("error");					
					}
				})
			}
		</script>
	</body>
</html>

后台模拟数据:

<?php
	echo "hello";
?>

后台显示:

bubuko.com,布布扣

前台在chrome中单击ajax按钮之后的显示(明显执行了error 注意chrome中的黄色提示):


bubuko.com,布布扣

在firefox中的提示:

bubuko.com,布布扣

愿意为项目中的错误是因为前台不擅长ajax造成的,但是自己也写了一个,放在了桌面,没有和apache解析php的目录放在一起,结果也是出现上边的错误,大家可以从firefox中看到提示,我们感觉firefox提示发现原因,因为js跨域访问的问题,我们要允许js的跨域请求,不知道这个说法是不是正确,总之我们要让数据能够正确的被ajax调用.经过修改php程序如下:

<?php
	echo header("Access-Control-Allow-Origin:*");
	echo "hello";
?>

此时我们再看前台:

bubuko.com,布布扣

很明显,已经得到了数据,我们看看他们头信息

bubuko.com,布布扣

返回值:

bubuko.com,布布扣

至此我们的数据可以通过ajax获取到了,关键代码

echo header("Access-Control-Allow-Origin:*");
这样我们就可以跨域访问了,具体怎么理解跨域访问,我的理解就是,前台和后台不再一个域的访问,在这里怎么理解域,我的理解就是一个统一的目录.这里面写一点感悟,大家如果遇到类似于这种问题的话,还存在一个问题,就是我怎么能确定ajax是不是真的没有访问到数据那,这时候我们可以在php页面加入一个写入功能,每当有访问的时候写入一个日志文件,通过查看日志文件确定链接是否接受得到,这也是我作微信开发的过程中总结出来的,源程序要放到服务器,并不能像本地一样可以方便的调试信息,所以我们很有必要对一些东西写入日志文件,来判断程序是否正常.一点心得分享给大家.


chrome提示错误:CAUTION:Provisional headers are shown 解决办法,布布扣,bubuko.com

chrome提示错误:CAUTION:Provisional headers are shown 解决办法

原文:http://blog.csdn.net/wyfhist/article/details/38511319

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!