Google应用程序引擎JSON/AJAX不工作

Google应用程序引擎JSON/AJAX不工作,ajax,json,google-app-engine,python-2.7,Ajax,Json,Google App Engine,Python 2.7,以下是我的JS代码: <script> $("#comments").click(function(event) { $.ajax({ type: "GET", url: '/localhost:8080/comment', data: JSON.stringify( {

以下是我的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>
我得到错误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>

$(“#注释”)。单击(函数(事件){
$.ajax({//ajax调用开始
url:“localhost:8080/comment”,//
键入:“获取”,
数据:JSON.stringify(
{
'name':'anon',
“主题”:“我的评论”,
}),
数据类型:“jsonp”,//选择JSON数据类型
成功:函数(数据、文本状态、jqXHR)
{
log('POST response:');
控制台日志(数据);
}
});       
});
这仍然不起作用。。。我得到“没有可以解码的JSON对象”错误。 我尝试用JSON.load替换JSON.loads。。。这仍然是错误的

有人能告诉我是什么问题吗


当您使用ajax执行
GET
请求时,请提前感谢mil,因为您正在使用url参数。
因此请求中没有正文。

制作一个
POST
并将您的
get()
更改为
POST()
如果项目中有app.yaml文件,则应编辑该文件,如果没有,则添加一个

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

-url:/comment
脚本:
您可以在这里看到更完整的app.yaml文档,用于python


显然,Caps Lock键也不是。测试从dev_appserver.py Web服务器到自身的json/ajax调用应该不会有问题,因为它不会是跨域调用。您确定
$.ajax
url正确吗?试试
http://localhost:8080/comment
/comment
。最后一个将根据运行脚本的页面的url而更改。请参阅
<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>
-url: /comment
  script: <url-to-the-server-side-script>