无法从JQUERY向python发送JSON数据 - javascript

我正在尝试用Flask-python构建一个聊天机器人,该聊天机器人需要与javascript交互以连接到URL来带来数据。

我能够从javascript发送和接收字符串到Python,但是现在当我尝试从javascript发送JSON数据到python时遇到问题。

我已经尝试了多种方法,例如在JS中使用ajax调用和在python中使用request.json,但未能成功。

下面是我正在使用发送字符串的代码

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
<script>
    function getBotResponse(rawText) {
        $.getJSON('https://westus.api.cognitive.microsoft.com/luis/v2.0/apps/', {q: rawText}, 
            function(jsndata) {
            var intent = jsndata.topScoringIntent.intent;
                }
                $.get("/get", { intt: intent }).done(function(data) 
                    {
                        $('<div class="botText">'+data+'</div>').insertBefore('.msg_push');
                        $('.chat_body').scrollTop($('.chat_body')[0].scrollHeight);
                    }
                );
            }
        );
    }
</script>

以下是用于接收字符串并返回答案的python代码:

from flask import Flask, render_template, request
@app.route("/get")
def get_bot_response():
    jsondata = request.args.get('intt')
    print(type(jsondata))
    print(jsondata)

这工作正常,但是当我尝试以相同的方式发送json时,出现类似Internal Server Error的错误,而当我尝试使用ajax时,它表示为BAD Request

我如何通过javascript到python的变量发送json数据?

注意:我熟悉在python中使用urllib request / https请求方法连接到URL并获取json数据,但是我公司的政策不允许这样做,因此需要寻找某种方式可以从javascript发送数据。

参考方案

您会遇到问题,因为$.get(..., { intt: XXX })期望使用字符串代替XXX,而不是对象。

解决此问题的最简单方法是使用JSON.stringify

{ intt: JSON.stringify(intent) }

然后从Python中的字符串解析JSON

当然,更好的方法是发布JSON,而不是将其作为URL查询传递。 URL查询可能有长度限制和速度限制。

jQuery val函数在隐藏字段上不起作用? - javascript

这是我的HTML代码:<div style='display:none;' id='allformid'> <div> <form action='#'> <input type='text' name='name' …

如果我得到url(''),我该如何使用另一个URL - javascript

我是新手,正在写这篇文章,但是如果源上没有图像,那么我只有空白。有人可以告诉我,如果我正在获取背景图像,如何获取/images/no-image.jpg:url();这是我的代码:<div class="uk-clearfix uk-position-relative"> <div class="recipeb…

Flask:如何将JSON传递到javascript文件? - javascript

            我有对象main.pyfrom __future__ import with_statement from flask import Flask,request,jsonify,send_file,render_template import json # from flask_cors import CORS app = Flask…

Javascript IF语句 - javascript

                        嗨,我有这段代码可以正常工作,并将两个日历显示为一个日历。我还有一个php变量$login_session,其中包含登录电子邮件地址的用户。关于如何显示[email protected]日历的任何想法(伪代码)IF $login_session == "[email protected]&#…

在PHP服务器上从HTML进行数据挖掘 - javascript

我使用jQuery创建了一个不错的库,该库在浏览器中运行,并且基本上完成了从各种html页面中挖掘任意数据的任务。我想将此库迁移到运行PHP的Apache服务器并在服务器端运行它。但是,我不知道与PHP兼容的可靠浏览器模拟器。最坏的情况是在PHP中再次实现整个过程。该解决方案将涉及:发送请求解析HTML实现基本功能以执行Java / jQuery标准执行的任…