0

这是我的 JS 代码:

    <script>
         $("#comments").click(function(event) {
            $.ajax({
               type: "GET",
               url: '/localhost:8080/comment',
               data: JSON.stringify(
                     {
                      'name': 'anon',
                      'subject': 'MY COMMENTS',
                     }),
               contentType: 'application/json',
               success: function(data,textStatus, jqXHR) {
                  console.log('POST response: ');
                  console.log(data);
              }
            });   
      });
   </script>

这是我的 Python 代码:

class Guestbook(webapp2.RequestHandler):

  def get(self):

    Jguest_data = json.loads(self.request.body) 
    return self.response.out.write(json.dumps(Jguest_data))

我收到错误 404 找不到资源。在挖掘之后, localhost 存在一些问题。所以我尝试使用 JSONP 如下:

<script>
     $("#comments").click(function(event) {      
        $.ajax({ // ajax call starts
          url: "localhost:8080/comment", // 
          type: "GET",
          data:  JSON.stringify(
                {
                  'name': 'anon',
                  'subject': 'MY COMMENTS',
                }),
          dataType: "jsonp", // Choosing a JSON datatype
          success: function(data,textStatus,jqXHR) 
          {
              console.log('POST response: ');
              console.log(data);
          }
        });       
  });
 </script>

那仍然不起作用...我收到“无法解码 JSON 对象”错误。我尝试用 JSON.load 替换 JSON.loads ......但仍然出错......

有人可以让我知道问题是什么吗?

提前致谢

4

2 回答 2

0

当您GET使用 ajax 发出请求时,您正在使用 url 参数。
所以请求中没有正文。
做一个POST并改变你get()post()

于 2013-01-18T13:14:56.333 回答
0

如果您的项目中有一个,您应该编辑您的 app.yaml 文件,如果没有,则添加一个。

将此代码添加到您的文件 (app.yaml)。

-url: /comment
  script: <url-to-the-server-side-script>

您可以在此处查看与 python 一起使用的更完整的 app.yaml 文档。

https://cloud.google.com/appengine/docs/python/config/appref

于 2016-11-30T04:10:30.383 回答