【问题标题】:Javascript parse URL as parameter for $.getJSONJavascript 将 URL 解析为 $.getJSON 的参数
【发布时间】:2021-03-29 13:23:55
【问题描述】:

我正在尝试将 URL 作为参数 与我的前端中的多个 others 一起解析,以向我的 Django 后端发送 JSON 请求 ,但我收到众所周知的 404 错误 - 未找到。

Django urls.py 路径:

path("updateAssignment/<iD>/<body>/<deadline>/<user>/<url>/<game>/<aK>/<seoTitle>/<payment>/<wordCount>/<category>/<state>/", Dashboard.update_assignment, name="updateAssignment")

Javascript $.getJSON 请求

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) => {
    
});

该请求仅在真正的 URL 被解析时引发错误,因此问题必须与它以及我猜它是如何编码的有关。帮助会很棒。

【问题讨论】:

  • @Taplar 对,我现在已经添加了我之前的代码,我可以保证解析的字符串不为空。只有在我解析 URL 时才会抛出错误。
  • 您在哪些浏览器上进行测试?尝试使用 console.debug

标签: javascript python jquery django http-status-code-404


【解决方案1】:

通过使用 $.ajax 而不是 $.getJSON 来修复它。

$.ajax({
  type: "get",
  url: endpoint,
  data: {},
  sucess: (response) => {
    
  }});
  

以正确的格式将数据传输到服务器。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-02-17
    • 2020-05-03
    • 2014-07-04
    • 2011-01-15
    • 1970-01-01
    • 2011-02-13
    • 1970-01-01
    相关资源
    最近更新 更多