'Flask on connecting with React shows ERROR in app: Exception on /get_prediction [POST]

I am trying to connect Flask with React and when using the feature in the web app the response is sent to the server but no response in coming from flask. The web app is sending the data but not receiving any and it showing internal server error. This is the flask code:

import New_Bucket
import pandas as pd
from flask_cors import CORS

data = pd.DataFrame()
app = Flask(__name__)
CORS(app)

@app.route("/",methods=["POST", "GET"])
def home():
    
    if request.method == "POST":
        print(request.json)
        business_code = request.json["business_code"]
        cust_number = request.json['cust_number']
        name_customer = request.json['name_customer']
        clear_date = request.json['clear_date']
        buisness_year = int(request.json['buisness_year'])
        doc_id = int(request.json['doc_id'])
        posting_date = request.json['posting_date']
        due_in_date = request.json['due_in_date']
        baseline_create_date = request.json['baseline_create_date']
        cust_payment_terms = request.json['cust_payment_terms']
        converted_usd = float(request.json['converted_usd'])
 
        data['business_code'] = [business_code]
        data['cust_number'] = [cust_number]
        data['name_customer'] = [name_customer]
        data['clear_date'] = [clear_date]
        data['buisness_year'] = [buisness_year]
        data['doc_id'] = [doc_id]
        data['posting_date'] =[posting_date]
        data['due_in_date'] = [due_in_date]
        data['baseline_create_date'] = [baseline_create_date]
        data['cust_payment_terms'] = [cust_payment_terms]
        data['converted_usd'] = [converted_usd]
        
        
        print(request.json)
        
       
        
        response = make_response(jsonify(New_Bucket.predict(data)),200)
        response.headers["Content-Type"] = "application/json"
        return response
    else:
        return render_template("index1.html")
        
@app.route("/get_prediction", methods=["GET",'POST'])
def get_prediction():    
    if request.method == "POST":
        doc_id_list = list(request.json["data"])
        print(doc_id_list)
        response = make_response(jsonify(New_Bucket.doc_id_bucket(doc_id_list)),200)
        response.headers["Access-Control-Allow-Origin"]="*"
        response.headers["Content-Type"] = "application/json"
        return response
    else:
        return render_template("index2.html")
    

@app.route("/all", methods=["GET",'POST'])
def alll():    
    if request.method == "POST":        
        response = make_response(jsonify(New_Bucket.alll()),200)       
        response.headers["Content-Type"] = "application/json"
        return response
    else:
        return render_template("index3.html")    
    
@app.route("/login", methods=["POST", "GET"])
def login():
    if request.method == "POST":
        user = request.form["nm"]
        return redirect(url_for("user", usr=user))
    else:
        return render_template("login.html")

@app.route("/<usr>")
def user(usr):
    return f"<h1>{usr}</h1>"

if __name__ == "__main__":
    app.run()

The error is: *2022-04-14 03:04:57,630] ERROR in app: Exception on /get_prediction [POST] Traceback (most recent call last): File "C:\Users\KIIT\anaconda3\lib\site-packages\flask\app.py", line 2447, in wsgi_app response = self.full_dispatch_request() File "C:\Users\KIIT\anaconda3\lib\site-packages\flask\app.py", line 1952, in full_dispatch_request rv = self.handle_user_exception(e) File "C:\Users\KIIT\anaconda3\lib\site-packages\flask_cors\extension.py", line 165, in wrapped_function return cors_after_request(app.make_response(f(*args, **kwargs))) File "C:\Users\KIIT\anaconda3\lib\site-packages\flask\app.py", line 1821, in handle_user_exception reraise(exc_type, exc_value, tb) File "C:\Users\KIIT\anaconda3\lib\site-packages\flask_compat.py", line 39, in reraise raise value File "C:\Users\KIIT\anaconda3\lib\site-packages\flask\app.py", line 1950, in full_dispatch_request rv = self.dispatch_request() File "C:\Users\KIIT\anaconda3\lib\site-packages\flask\app.py", line 1936, in dispatch_request return self.view_functionsrule.endpoint File "C:\Users\KIIT\AppData\Local\Temp/ipykernel_22628/1619904842.py", line 53, in get_prediction doc_id_list = list(request.json["data"]) TypeError: 'NoneType' object is not subscriptable 127.0.0.1 - - [14/Apr/2022 03:04:57] "POST /get_prediction HTTP/1.1" 500 - [2022-04-14 03:05:01,341] ERROR in app: Exception on /get_prediction [POST] Traceback (most recent call last): File "C:\Users\KIIT\anaconda3\lib\site-packages\flask\app.py", line 2447, in wsgi_app response = self.full_dispatch_request() File "C:\Users\KIIT\anaconda3\lib\site-packages\flask\app.py", line 1952, in full_dispatch_request rv = self.handle_user_exception(e) File "C:\Users\KIIT\anaconda3\lib\site-packages\flask_cors\extension.py", line 165, in wrapped_function return cors_after_request(app.make_response(f(*args, *kwargs))) File "C:\Users\KIIT\anaconda3\lib\site-packages\flask\app.py", line 1821, in handle_user_exception reraise(exc_type, exc_value, tb) File "C:\Users\KIIT\anaconda3\lib\site-packages\flask_compat.py", line 39, in reraise raise value File "C:\Users\KIIT\anaconda3\lib\site-packages\flask\app.py", line 1950, in full_dispatch_request rv = self.dispatch_request() File "C:\Users\KIIT\anaconda3\lib\site-packages\flask\app.py", line 1936, in dispatch_request return self.view_functionsrule.endpoint File "C:\Users\KIIT\AppData\Local\Temp/ipykernel_22628/1619904842.py", line 53, in get_prediction doc_id_list = list(request.json["data"])

In network it's showing internal server error: enter image description here



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source