首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JSONify返回奇怪的值

JSONify返回奇怪的值
EN

Stack Overflow用户
提问于 2018-10-10 15:01:01
回答 3查看 152关注 0票数 0

我要做的是通过AJAX将Python中的函数的结果返回到我的javascript。目前,我正在获得这一反应,而我正在等待“真”或“假”

jquery:

代码语言:javascript
复制
  var test = $.getJSON("/chk_chn", {
    name: channel_name
  });

  alert(test.toSource())

python:

代码语言:javascript
复制
@app.route("/chk_chn")
def chk_chn_unique():
"""Checks a name against all existing Channels in a Channel List. Returns True if name is unique, False otherwise"""
name = request.args.get("name")
for channel in Channels:
    if channel.get_name() == name:
        return jsonify(result=False)
return jsonify(result=True)
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-10-13 10:49:58

我有几个问题。

首先,我的Ajax查询没有任何回调函数。感谢罗里指出了这一点。代码现在如下。

代码语言:javascript
复制
      $.getJSON("/chk_chn", { name: channel_name} )
  .done(function( json ) {
    console.log(json.result)
    // Check Name Uniqueness
    if (json.result === false) {
      $("#chn_name").after('<span class="error">Channel name already exists</span>');
    }
    else {
      // Check Channel Length
      if (channel_name.length > 20) {
        $("#chn_name").after('<span class="error">Channel Name exceeds maximum length</span>');
        return false
      }
      else {
        // Create Channel
        socket.emit("create_channel", {"channel_name": channel_name})
        // Close the modal
        return true;
      }
    }
  })
  .fail(function(jqxhr, textStatus, error) {
    var err = textStatus + ", " + error;
    console.log("Request Failed: " + err);
  });

我的第二个甚至更愚蠢的问题是,Ajax查询是由一个存在于Modal中的按钮调用的。当单击按钮时,Modal被关闭,javascript在新页面上重新生成,从而完全放弃了我的查询。

我通过在表单上返回false来修复这个问题。

代码语言:javascript
复制
<form role="form" id="submit_channel" onsubmit="return false">
票数 0
EN

Stack Overflow用户

发布于 2018-10-10 15:02:29

你试过:

代码语言:javascript
复制
return jsonify({result: True})
票数 0
EN

Stack Overflow用户

发布于 2018-10-12 10:00:22

您丢失了回调函数,只需打印请求对象。

试试这个:

代码语言:javascript
复制
$.getJSON('/chk_chn', { name: channel_name })
    .done(function (data) {
        console.log(data);
    });
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52743188

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档