否“访问控制允许来源”我的控制台日志
问题描述:
头我对我的控制台日志此错误:否“访问控制允许来源”我的控制台日志
的XMLHttpRequest无法加载http://example.com/jsonconnect1.php。否 “访问控制 - 允许来源”标题出现在请求的 资源中。因此不允许原产地'null'访问。
我知道有吨这个问题已经被问,但所有的人,其中我的代码使用的getJSON
$(document).ready(function(){
var url="http://example.com/jsonconnect1.php";
$.getJSON(url,function(json){
// loop through the members here
$.each(json.members,function(i,dat){
$("#msg").append(
'<div class="members">'+
'<h1>'+dat.id+'</h1>'+
'<p>Firstname : <em>'+dat.username+'</em>'+
'<p>SurName : <em>'+dat.mobileno+'</em></p>'+
'<p>Title : <strong>'+dat.total+'</strong></p>'+
'<hr>'+
'</div>'
);
任何想法用所谓的“AJAX”?谢谢。
答
您显然正在尝试一个跨源AJAX请求。这意味着您尝试联系与源网页所在网域不同的域/端口上的服务器。这被称为交叉原点请求,默认情况下不允许。您可以阅读关于浏览器的相同原产地安全策略here。
为了被允许做直接跨起源请求时,你正在为必须特别允许请求的服务器。
Access-Control-Allow-Origin
header是允许这种类型的访问的一种方式,但它显然不适用该头,因此请求被浏览器拒绝。你可以阅读关于CORS(跨源资源共享)如何在这里工作enter link description here。
使用JSONP(也需要目标服务器协作以支持JSONP请求)或通过代理(您可以联系的另一个服务器,可以向请求的服务器发出请求为你,并返回结果)。该代理需要您有权访问的服务器上的自己的服务器代码,但不需要目标服务器的合作。
每the doc on this page,似乎麦盖提点播不支持JSONP,所以你可以使用这种形式的跨起源请求。如果您为$.ajax()
设置适当的dataType: "jsonp"
选项,jQuery的ajax支持该格式。
'getJSON'也是阿贾克斯。 – Daan
你怎么看我解决控制台日志中显示的错误@Daan – ekky008