通过Ajax从php获取数据

时间:2014-08-31 17:14:19

标签: javascript php jquery ajax

我是PHP的新手,试图学习。

我的php文件存在于WAMP服务器的 www 文件夹中。

<?php

    echo 'Hi';
?>

如果我从浏览器转到http://127.0.0.1/testRequestParameter.php,可以运行此功能,打印您好

所以现在我创建了一个HTML页面(不在同一目录中

<html>
<head>
    <script src="jsLibrary/jquery-1.11.1.min.js" ></script>
</head>
<body>
<script type="text/javascript"> 
    function getTestDataFromAjax()
    {
    var url =   'http://127.0.0.1/testRequestParameter.php';

    $.ajax({
        url: url,
        success: function(data) {
          alert(data);
        },
        async:false
      });

    }
</script>

    <input type="submit"  name="Button" onclick="javascript:getTestDataFromAjax(); return false;" />
</body>
</html>

当我尝试通过AJAX调用该php时,响应为空。

可能是我错过了什么,任何帮助都会受到赞赏。

Finding1:在我的萤火虫中显示,Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://127.0.0.1/testRequestParameter.php. This can be fixed by moving the resource to the same domain or enabling CORS.

我需要更改的任何设置?

1 个答案:

答案 0 :(得分:0)

方案

我使用EasyPHP测试了您的脚本:我创建了http://localhost/script/test/文件 content.php

<?php
echo 'Hi!';
?>

然后,我添加到我的桌面 index.php

<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
</head>
<body>
<script type="text/javascript"> 
    function getTestDataFromAjax()
    {
    var url =   'http://localhost/script/test/content.php';

    $.ajax({
        url: url,
        success: function(data) {
          alert(data);
        },
        async:false
      });

    }
</script>

    <input type="submit"  name="Button" onclick="javascript:getTestDataFromAjax(); return false;" />
</body>
</html>

然后,我启动了 index.php 并点击了按钮,点击后返回错误:

XMLHttpRequest cannot load http://localhost/script/test/content.php. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'null' is therefore not allowed access. 

解决方案

所以,我编辑了我的 content.php

<?php
header("access-control-allow-origin: *");
echo 'Hi!';
?>

它现在正在工作