我正在运行一个简单的Ajax请求来更新Google App Engine数据存储区上的日期时间对象,但由于某种原因它没有返回我要求它返回的值。我有一个类似的脚本为另一个没有问题的工作工作,所以我必须错过一些小的东西。我怀疑它是在Javascript / Ajax代码中,但是我无法找到它。
页面上的表单将没有任何错误的值提交给python脚本。然后,这会更新并保存数据存储项而不会出现任何问题,并以:
结束self.response.out.write('test message')
启动此操作的脚本如下:
$('.set-date').submit(function () {
var form = $(this);
var key = form.attr('id').substr(4);
var day = $('#SETDAY-' + key).val()
var month = $('#SETMONTH-' + key).val()
var dataString = 'reminderkey='+ key + '&setdate=' + day + '-' + month;
$.ajax({
type: "POST",
url: "/user/reminders/setdate",
data: dataString,
success: function(data) {
$('#success-info span').text(data);
}
});
});
最后,这里是要发布结果的HTML:
<div id="success-info" class="alert alert-success alert-dismissable">
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
<strong>It's done!</strong> <span></span>
</div>
如上所述,python脚本更新并保存数据库条目。没有错误。然而,测试消息&#39;没有显示在页面上,而使用类似的脚本,这工作得很好。我有什么想法吗?
更新1
也许它有助于显示实际工作的其他脚本。它从python脚本接收相同的输入,并在完全相同的html代码中在span中成功显示相同的响应:
$('.activate-switch').on('switch-change', function (e, data) {
var $element = $(data.el),
value = data.value;
var switchid = $element.attr('id')
var key = switchid.substr(9);
var dataString = 'reminderkey='+ key + '&status=' + value;
$.ajax({
type: "POST",
url: "/user/reminders/activate",
data: dataString,
success: function(data) {
$('#success-info span').text(data);
}
});
});