2017-06-10 122 views
0

我不明白为什么这个脚本的作品。在两个不同的服务器 AJAX请求不应该在科尔多瓦工作...AJAX与科尔多瓦和PHP

AJAX:

function getInfoBoat() 
{ 
     $.ajax({ 
      url: 'http://www.mywebservices.com/data-boat.php', 
      type: "POST", 
      dataType:'html', 
      cache:false, 
      success: function (data) 
      { 
       $("#result").text(data) 
      }, 
      error: function(jqXHR, textStatus, errorThrown) 
      { 
       alert(jqXHR.status); 
       alert(textStatus); 
       alert(errorThrown); 
      } 
     }); 
} 
$("#get-info-boat").click(function() 
{ 
     getData(); 
}); 

HTML政策:

<meta http-equiv="Content-Security-Policy" content="default-src *; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval'">

访问控制允许来源不存在在PHP页面

Grazie,ciao

响应头: enter image description here

+0

如果目标服务器有'访问控制允许来源:*'然后查询结果返回.. –

回答

0

===编辑===

CSP策略定义什么“限制”或访问客户端,,和客户端可以让AJAX请求数肯定,,而且,很重要,,您的原始服务器呈现页面需要有一些自定义的CSP头,以防止页面制作ajax REQ!

请参见本页面信息,,我刚才测试了这是我的个人网页上,现在阿贾克斯REQ不能去远程资源了:)

这是为你链接:

https://content-security-policy.com/

我加入了这样的事情:

add_header "Content-Security-Policy" "default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'"; 

,这就是它!

欢呼声,K

+0

也许我没有解释得很好。 我的域名不存在(“Access-Control-Allow-Origin:*”); AJAX应该报告一个错误,但脚本的工作原理是一样的 – user2154895

+0

你能看到或粘贴我们从目标服务器的头文件吗? –

+0

现在没有什么,但只有回声“测试”来检查AJAX的工作 – user2154895