Php jQuery客户端赢得';我不接受我的服务器响应

Php jQuery客户端赢得';我不接受我的服务器响应,php,jquery,python,http,Php,Jquery,Python,Http,几天前,我用flask编写了一个python web服务,在我的手机(android应用程序)和服务器之间发送一些JSON数据 一切正常:我可以通过GET发送和接收数据,用我的android应用程序和“cURL”程序发布 然后我决定为我的web服务创建一个简单的web应用程序作为客户机,于是斗争开始了。因此,我编写了我能想象到的最简单的客户端和服务器: Client.html <!DOCTYPE html> <html lang="en"> <head>

几天前,我用flask编写了一个python web服务,在我的手机(android应用程序)和服务器之间发送一些JSON数据

一切正常:我可以通过GET发送和接收数据,用我的android应用程序和“cURL”程序发布

然后我决定为我的web服务创建一个简单的web应用程序作为客户机,于是斗争开始了。因此,我编写了我能想象到的最简单的客户端和服务器:

Client.html

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <title>TestClient</title>

    <!-- jQuery -->
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js</script>


    </head>
    <body>

    <script type="text/javascript">       
       $.get("http://SERVER_URL/test/1", function(data,status){
       alert("Data: " + data + "\nStatus: " + status);
     });

     </script>

   </body>
  </html>
因此,当我手动调用这个站点(从Firefox或Chrome)时,我会像我预期的那样在浏览器中显示一个简单的“this is test#1”字符串

但是只要我运行我的“Client.html”,我就什么也没有收到:没有警报或其他东西。当我使用Firefox的控制台检查错误或其他东西时,一切似乎都很好:

请求:

02:49:03.000
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:28.0) Gecko/20100101 Firefox/28.0
Origin: null
Host:   213.165.80.252
Connection: keep-alive
Accept-Language:    de,en-US;q=0.7,en;q=0.3
Accept-Encoding:    gzip, deflate
Accept: */*
答复:

Response-Header Δ91ms
X-Powered-By:   PHP/5.4.4-14+deb7u14
Vary:   Accept-Encoding
Server: Apache/2.2.22 (Debian)
Keep-Alive: timeout=5, max=100
Date:   Sun, 05 Oct 2014 00:49:04 GMT
Content-Type:   text/html
Content-Length: 15
Content-Encoding:   gzip
Connection: Keep-Alive
所以,毕竟,我认为我的服务器肯定有问题。类似于“响应不可javascript处理”。我的想法是:

  • 客户端无法在我的服务器上运行python(flask)或slim(PHP)
  • 客户端与其他web服务(例如
实际起作用的是:

  • 服务器可以与androids httpRequest配合使用
  • 服务器可以使用cURL或通过浏览器直接调用
提前谢谢你

经过几天(!)的研究,我终于找到了非常简单的解决方案:HTTP访问控制(CORS)

长话短说-下面的代码修复了这个问题

我必须在我的服务器上执行以下步骤:

1.)激活apache的headers模块:

server# a2enmod mod_headers
2.)在我的服务器上修改VirtualHost文件“myservice.conf”,并在它们之间添加以下行

Header set Access-Control-Allow-Origin "*"
3.)检查文件中是否存在任何错误:

server# apachectl -t
4.)重新加载并重新启动apache

server# service apache2 reload && service apache2 restart
5.)享受服务器-客户端连接

希望我能帮助任何有同样问题的人

关闭脚本标记:
您好,我已将其固定为
。但仍然不工作,我不认为这是一个类型错误,因为其他网站正在工作。
server# service apache2 reload && service apache2 restart