Игнорировать http: localhost от URL AJAX - PullRequest
0 голосов
/ 28 декабря 2018

Я использую каналы django для реализации приложения обмена мгновенными сообщениями в моем проекте. Окно сообщений не занимает весь экран, поэтому я пытаюсь реализовать его с помощью ajax. Проблема, с которой я сталкиваюсь, заключается в том, что в моем поле url в ajax естьдобавление http://locahost. Я не хочу этого, так как я использую каналы ASGI и django с ws: //

Я попытался добавить URL с помощью "/"

var wsStart = 'ws://';
if (loc.protocol == 'https:'){
    wsStart ='wss://';
 }
var endpoint = wsStart + loc.host;

$.ajax({
  type: 'POST',
  url:"/"+endpoint+"/messages/"+username+"/",
  data: {
  'username': username,
   csrfmiddlewaretoken: $('input[name=csrfmiddlewaretoken]').val()
   },
   success: function (res, status) {
    console.log("RESOPONSE",res);
    },
    error: function (res) {
    console.log(res.status);
   }
  });

Я хочу, чтобы URL был ws: // localhost: 8000 / messages /

, что я получаю сейчас
http://localhost:8000/ws://localhost:8000/messages/mohitharshan123/

Ответы [ 2 ]

0 голосов
/ 28 декабря 2018

На самом деле вы не можете использовать WebSocket с AJAX или CORS, он не будет работать.

0 голосов
/ 28 декабря 2018

Проблема в том, что вы начинаете URL-адрес с "/", и это означает, что текущий базовый URL-адрес, на котором вы добавляете другой путь.Сначала укажите URL ws: // localhost, а затем добавьте, что вы хотите.

...