我已经按照本教程的说法创建了一个服务,我可以看到当我在浏览器中输入这个网址时:
http://{localhost}:8888/drupal2/test_test/node/1.jsonp
或
http://{localhost}:8888/drupal2/test_test/node/1.json
或
http://{localhost}:8888/drupal2/test_test/system/connect.json
我得到了json回调。但是当它在jquery代码中时,我得到了
XMLHttpRequest无法加载 HTTP:// {本地主机}:8888 / drupal2 / test_test /节点/ 1.json类型=交&安培;格式= JSON。 来源http:// {localhost}:8383不被允许 访问控制允许来源。
为什么会这样?
JQuery代码:
$(function() {
var urlis = "http://localhost:8888/drupal2/test_test/node/1.json";
$.getJSON(urlis, {
type: 'post',
format: "json"
}).done(function(afterdone) {
console.log("JSONP Data");
})
.fail(function(error) {
console.log("NO!");
});
});
答案 0 :(得分:1)
您需要允许跨域AJAX。要在PHP中执行此操作,请修改scirpt:
header('Access-Control-Allow-Origin: domain.com');
或修改你的htaccess或apache conf文件:
<FilesMatch "\.*$">
<IfModule mod_headers.c>
Header set Access-Control-Allow-Origin "domain.com"
</IfModule>
</FilesMatch>
的这篇文章
答案 1 :(得分:1)
在您的服务器上添加响应标头:
Access-Control-Allow-Origin: from-specific-domain.com
你也可以用php做到这一点:
<?php
header('Access-Control-Allow-Origin: from-specific-domain.com');
?>