如何创建Google应用程序引擎PHP Restful API服务?

如何创建Google应用程序引擎PHP Restful API服务?,php,rest,google-app-engine,Php,Rest,Google App Engine,我正在尝试使用PHP在Google App Engine中创建一个Restful API页面,允许外部实体向其发送数据。我首先在Chrome扩展“Advanced Rest Client”中测试所有内容,该扩展接受数据并返回响应。然后我创建了以下html,这样我就可以用Javascript测试它了 <html><head> <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js

我正在尝试使用PHP在Google App Engine中创建一个Restful API页面,允许外部实体向其发送数据。我首先在Chrome扩展“Advanced Rest Client”中测试所有内容,该扩展接受数据并返回响应。然后我创建了以下html,这样我就可以用Javascript测试它了

<html><head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js">
</script>    
</head>
<body>
<span id="response"></span>
<script>
  var url = "https://www.website.com/api/"
  var data = { "test":"success", };
  var response = function(data){ $("#response").html(data); };
  $.post(url, data, response);
</script>
</body></html>

有什么想法吗?

问题的起因是:

http_headers:
 Access-Control-Allow-Origin: *
 Access-Control-Allow-Methods: *
Google App Engine不接受这些参数,所以我在PHP中只使用了以下行

header( 'Access-Control-Allow-Origin: *' );

它现在可以工作了。

在app.yaml中,
http\u头
必须在
handlers
中的特定处理程序规范下,而不是像您使用它那样“独立”

文件中建议的示例具体如下:

handlers:
- url: /images
  static_dir: static/images
  http_headers:
    Access-Control-Allow-Origin: '*'

当然,您也可以将其应用于其他类型的处理程序,而不仅仅是示例中的静态服务。

对于跨域请求,服务器需要接受来自其他来源的调用。如果使用apache,您可以将类似于
头添加访问控制允许源代码“*”
的内容放入。htaccess@AndreaGGoogle App Engine不运行apache,@Mike已经说他使用了
访问控制允许源代码“*”
对不起,我的坏消息。。。我今晚有点困。。。但是,我认为问题在于。。。
*
必须是
“*”
因此,yaml应该看起来像
访问控制允许源代码:“*”
,多亏了你们两位。问题是GAE不喜欢我的http_标题行中有或没有“.我通过一个非详细的批处理进行更新,如果我没有注意到,我没有意识到它不会更新。我删除了这两个标题,并将标题('Access Control Allow Origin:');添加到php中。
handlers:
- url: /images
  static_dir: static/images
  http_headers:
    Access-Control-Allow-Origin: '*'