Javascript 将数据从服务器发送到客户端-ajax
我需要调用一些python函数,并在div id=“places”部分显示其结果(实际上是几个列表对象)。我试图在Javascript函数show_sec()中实现这一点,但我不知道如何从服务器捕获数据并在客户端处理它 我的任务非常简单和基本,但由于这是我的第一个web项目,我需要一些ajax方面的帮助。请帮帮我 这是我代码的一部分: .html 简而言之我的目标是在单击“是”按钮后在标记div id=“places”中显示名称和位置 或者,我可以在python函数中使用jinja2从服务器端开始显示特定的标记 请帮帮我。我花了很多时间在这上面,但还是不能很好地工作。提前谢谢 编辑: 当我点击Yes按钮时,show_sec功能将加载id为allowed的部分。 问题:未处理表单中的操作。因此,只显示html,但不接收来自服务器的数据。由于url是“/nearest\u banks/radius”,并且是get,请尝试在浏览器中打开该url以查看显示的内容。您可能需要在返回的页面上查看源代码才能正确查看。您应该首先验证web服务的功能,确认它返回了一些内容,并且返回了正确的内容Javascript 将数据从服务器发送到客户端-ajax,javascript,jquery,ajax,jinja2,Javascript,Jquery,Ajax,Jinja2,我需要调用一些python函数,并在div id=“places”部分显示其结果(实际上是几个列表对象)。我试图在Javascript函数show_sec()中实现这一点,但我不知道如何从服务器捕获数据并在客户端处理它 我的任务非常简单和基本,但由于这是我的第一个web项目,我需要一些ajax方面的帮助。请帮帮我 这是我代码的一部分: .html 简而言之我的目标是在单击“是”按钮后在标记div id=“places”中显示名称和位置 或者,我可以在python函数中使用jinja2从服务器端开
接下来,在show_sec函数中,进行反复试验,看看会发生什么。如果将请求的内容移动到与执行页面相同的路径,是否会产生差异?是否检查了开发者控制台?ajax查询的响应是什么?
show_sec
中的数据的值是多少?您没有解释什么是有效的或无效的,或者您有什么具体问题对不起,编辑了我的问题。穆德,数据包含html代码。。。就像我在上面展示的所有html标记一样,可能您的位置最初隐藏了div?是的,我做了一些检查。我的服务器功能运行得很好,我就是不知道如何使用jQuery显示结果……我自己使用纯javascript。尝试实例化一个xmlhttp对象并用它获取内容。通过这种方式,您可能可以更好地看到错误。然后,如果您想保留jquery,您将知道要引入哪些更改。@dmcdivitt可用于查看错误。顺便说一下,你的答案看起来像是评论,而不是答案。我还没有足够的分数发表评论,只能发表答案
{% include "header.html" ignore missing %}
<!-- contents of nearest banks page -->
<section id="ask_user">
<div id="question">Разрешить приложению определить Ваше место расположения для нахождения ближайших банков?</div>
<div id="buttons">
<input type="button" name="yes" value="Да, разрешить" onclick="show_sec()"/>
<input type="button" name="no" value="Нет, не разрешать" onclick="dnt_show_sec()"/>
</div>
</section>
<section id="allowed" style="display:none;">
<div id="map_canvas"></div>
<div id="nearest_banks">
<form action="/nearest_banks/radius" method="get" id="send_radius">
Курс ближайших банков на сегодня в радиусе
<input type="text" name="radius" id="radius" size="5" value={{radius}} >
<input type="submit" class="button" value="V">
метров
</form>
<div id="check"> {{output}}</div>
<div id="places"> </div>
</div>
</section>
<section id="not_allowed" style="display:none;">
<div class="question"> Приложение не имеет возможности определить близ лежащие банки.<div>
</section>
</body>
<script type="text/javascript">
/* frm.submit(function () {
$.ajax({
type: frm.attr('method'),
url: frm.attr('action'),
data: frm.serializeArray(),
cache: false,
success: function () {
$("#check").html("OK!!!");
},
error: function(data) {
$("#check").html("Something went wrong!");
}
});
return false;
}); */
function show_sec() {
document.getElementById('allowed').style.display = "block";
document.getElementById('ask_user').style.display = 'none';
$.ajax({
type: "get",
url: "/nearest_banks/radius",
}).success(function(data) {
$("#places").html(data);
/*alert ("OK !!!"); */
});
}
function dnt_show_sec() {
document.getElementById('not_allowed').style.display = "block";
document.getElementById('ask_user').style.display = 'none';
}
$(document).ready(function(){
$("button#yes").click(function(){
//alert("demo_test");
$("section#allowed").show();
});
});
</script>
*def get(self):
default_radius = 1000
radius = get_radius(self)
exceptions = [u'', 'error', 0] # invalid values for radius
if any([radius in exceptions]):
radius = default_radius
#warning = "Вы ввели неверный радиус. Система автоматически заменила его на стандартный."
output = radius # заменить на вывод банков
else:
#warning = ''
output = radius # заменить на вывод банков
names, location = Findplaces(self, radius)
body_values = {
'names': names,
'location': location,
'radius': radius,
'output': output,
#'warning': warning,
}
template = jinja_env.get_template('nearest_banks.html')
self.response.out.write(template.render(body_values))*