繁体   English   中英

JQuery无法通过localhost:8888检索数据drupal服务

[英]JQuery Unable to retrieve data drupal services through localhost:8888

我已经按照本教程的说法创建了一个服务,我可以看到当我在浏览器中输入这个url:

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:// {localhost}:8888 / drupal2 / test_test / node / 1.json?type = post&format = json。 Access-Control-Allow-Origin不允许原始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!");
    });
});

您需要允许跨域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>

另外,请看一下这篇关于带有JSON响应的跨域AJAX请求的文章

在您的服务器上添加响应标头:

Access-Control-Allow-Origin: from-specific-domain.com

你也可以用php做到这一点:

<?php 
    header('Access-Control-Allow-Origin: from-specific-domain.com');
?>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM