Во время вызова AJAX метода POST, преобразованного в метод GET при использовании с шаблоном Django i18n - PullRequest
0 голосов
/ 13 февраля 2020

Я использовал шаблон Django i18n в своем проекте для преобразования текста моего сайта между английским sh и немецким.

Я обработал все методы записи с помощью общего кода, написанного в файле webbase. js file ,

После реализации кода Django i18n в моем проекте мой веб-сайт начал работать странно и преобразовал весь метод POST с помощью GET.

Я уже пробовал с решениями, описанными в Интернете, как показано ниже.
sol-1: добавьте sla sh после URL.
sol-2: AJAX вызов, который я пробовал с обоими type: "POST" ad method: "POST".

Но даже после обновления кода согласно решению, я все еще не могу решить мою проблему.

Мой код, как показано ниже.

веб-база. js

app.post = function(url, postData, hasMsg, callback, dataType, msgId, processData, contentType) {
    try {
      msgId = msgId || "appMsg"
      var ajaxParam = {
        dataType: dataType || "json",
        type: "POST",
        headers: {
          "X-CSRFToken": app.getStorage("csrftoken")
        },
        url:url,
        data: postData,
        beforeSend: function() {
          ajaxCalls++;
          $('#loading-image').show();
        },
        complete: function() {
          ajaxCalls--;
          if(ajaxCalls == 0) {
            $('#loading-image').hide();
          }
        },
        success: function(data) {
          if (hasMsg) {
            if (data.code == 0) {
              app.showMessage(msgId, app.MsgType.Error, data.msg, 10);
              return;
            }

            app.showMessage(msgId, app.MsgType.Success, data.msg, 10);
          }

          if(callback) {
            callback(data);
          }
        },
        error: function(data) {
          app.showMessage(msgId, app.MsgType.Error, "Error occurred", 10);
          console.log(data);
        }  
      }

      if(typeof processData !== typeof undefined) {
        ajaxParam['processData'] = processData;
      }

      if(typeof contentType !== typeof undefined) {
        if(!contentType) {
          ajaxParam['contentType'] = contentType;
        }
      }

      $.ajax(ajaxParam);
    } catch(e) {
      console.log(e)
    }
  };

urls.py

urlpatterns += i18n_patterns(
    path("", include('website.urls')),
    path("website/", include('website.urls')),prefix_default_language=True)

Ниже приведен скриншот метода POST перед применением кода шаблона i18n. Post method Post method response

Ниже приведен скриншот метода GET после применения кода шаблона i18n. GET method GET method response

Будет очень полезно, если кто-нибудь может предложить мне правильное решение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...