否“访问控制允许来源”我的控制台日志

问题描述:

头我对我的控制台日志此错误:否“访问控制允许来源”我的控制台日志

的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”?谢谢。

+4

'getJSON'也是阿贾克斯。 – Daan

+0

你怎么看我解决控制台日志中显示的错误@Daan – ekky008

您显然正在尝试一个跨源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支持该格式。