这是我的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 ......但仍然出错......
有人可以告诉我这是什么问题吗?
提前致谢米尔
答案 0 :(得分:0)
当您使用ajax执行GET
请求时,您正在使用网址参数
所以请求中没有正文。
制作POST
并将get()
更改为post()
答案 1 :(得分:0)
您应该编辑app.yaml文件(如果项目中有文件),如果没有,请添加一个。
将此代码添加到您的文件(app.yaml)。
-url: /comment
script: <url-to-the-server-side-script>
您可以在此处查看更完整的app.yaml文档,以便与python一起使用。
https://cloud.google.com/appengine/docs/python/config/appref