I'm trying to parse an URL as paramter together with multiple others in my frontend to send a JSON request to my Django backend, but I receive the well known 404 error - not found.
Django urls.py path:
path("updateAssignment/<iD>/<body>/<deadline>/<user>/<url>/<game>/<aK>/<seoTitle>/<payment>/<wordCount>/<category>/<state>/", Dashboard.update_assignment, name="updateAssignment")
Javascript $.getJSON Request
function updateAssignment(assignmentId){
const assignmentUpdateEndpoint = "/updateAssignment/";
let body = encodeURIComponent(document.getElementById("Assignment-Body"+assignmentId).value);
let deadline = encodeURIComponent(document.getElementById("Assignment-Deadline"+assignmentId).value);
let user = encodeURIComponent(document.getElementById("Assignment-User"+assignmentId).value);
let url = encodeURIComponent(document.getElementById("Assignment-URL"+assignmentId).value);
let game = encodeURIComponent(document.getElementById("Assignment-Game"+assignmentId).value);
let additionalKeywords = encodeURIComponent(document.getElementById("Assignment-Additional-Keywords"+assignmentId).value);
let seoTitle = encodeURIComponent(document.getElementById("Assignment-SEOtitle"+assignmentId).value);
let payment = encodeURIComponent(document.getElementById("Assignment-Payment"+assignmentId).value);
let wordCount = encodeURIComponent(document.getElementById("Assignment-WordCount"+assignmentId).value);
let category = encodeURIComponent(document.getElementById("Assignment-Category"+assignmentId).value);
let state = encodeURIComponent(document.getElementById("Assignment-State"+assignmentId).value);
assignmentId = encodeURIComponent(assignmentId);
let reqUrl = assignmentUpdateEndpoint + assignmentId + "/" + body + "/" + deadline +"/" + user + "/" + url + "/" + game + "/" + additionalKeywords + "/" + seoTitle + "/" + payment + "/" + wordCount + "/" + category + "/" + state + "/";
$.getJSON(reqUrl).done((response) => {
});
The request only throws an error when a real URL gets parsed, thus the issue must related to it & how it gets encoded I guess. Help would be great.
Fixed it by using $.ajax instead of $.getJSON.
$.ajax({
type: "get",
url: endpoint,
data: {},
sucess: (response) => {
}});
transmits the data in the right format to the server.