Вызов jquery ajax https дает ERR_INSECURE_RESPONSEJquery

Программирование на jquery
Ответить
Гость
 Вызов jquery ajax https дает ERR_INSECURE_RESPONSE

Сообщение Гость »


Я пытаюсь выполнить вызов https CORS AJAX из jQuery в процесс Node.js. Однако при каждом вызове Chrome выдает сообщение в консоли: OPTIONS https://localhost/net::ERR_INSECURE_RESPONSE.

Глядя на аналогичный вопрос о переполнении стека, я должен иметь возможность выполнять вызовы AJAX https с перекрестным происхождением, если я импортирую созданный мной самозаверяющий сертификат. Поэтому я импортировал сертификат в Chrome. Я вижу сертификат на вкладке «Управление сертификатами» Chrome в разделе «Авторитеты». Но при попытке вызова AJAX все равно не получается.

Вот как я сделал закрытый ключ: openssl genrsa -out domain.key 4096

Теперь сертификат:

openssl req -x509 -sha512 -nodes -newkey rsa:4096 -keyout домен.ключ -out домен.crt В качестве общего имени я указал IP-адрес компьютера, чтобы Chrome не жаловался на несоответствие URL-адресов.

Вот HTML-страница.

Черный ящик Добро пожаловать в BlackBox имя пользователя пароль Это JavaScript, который работает вместе с HTML.

$(document).ready(function() { $('#loginbtn').click(clickLogin); функция clickLogin() { var username = $('#username').val(); вар пароль = $('#пароль').val(); if(пароль == '' || имя пользователя == '') { $(".out").html("Пустое имя пользователя или пароль"); } еще { $.ajax({ тип: «ПУТ», URL: "https://localhost/", contentType: «приложение/json», данные: JSON.stringify({ имя пользователя: имя пользователя, пароль: пароль, }), Тип данных: «текст», }) } }; }); И, наконец, вот процесс Node, который обслуживает HTML и JavaScript и должен принимать вызовы AJAX.
const fs = require("fs"); const http = require('http'); const https = require('https'); var loginPage = fs.readFileSync('login.html'); вар loginPageJs = fs.readFileSync('login.js'); var jquery = fs.readFileSync('jquery-1.11.2.js'); var bootstrap = fs.readFileSync('bootstrap-3.3.4-dist/js/bootstrap.min.js') варианты вар = { ключ: fs.readFileSync('domain.key'), сертификат: fs.readFileSync('domain.crt') }; http.createServer(function(req, res) { res.writeHead(301, {Местоположение: 'https:192.168.1.58/'}) Отправить(); }).слушать(80); https.createServer(options, function(req, res) { if(req.method === 'GET' && req.url === '/') { res.writeHead(200, "ОК", {'Content-Type': 'text/html'}); res.write(страница входа); Отправить(); } else if(req.method === 'GET' && req.url === '/login.js') { res.writeHead(200, "ОК", {'Content-Type': 'application/javascript'}); res.write(loginPageJs); Отправить(); } else if(req.method === 'GET' && req.url === '/jquery-1.11.2.js') { res.writeHead(200, "ОК", {'Content-Type': 'application/javascript'}); res.write(jquery); Отправить(); } else if(req.method === 'GET' && req.url === '/bootstrap-3.3.4- dist/js/bootstrap.min.js') { res.writeHead(200, "ОК", {'Content-Type': 'application/javascript'}); res.write(бутстрап); Отправить(); } else if(req.method === "OPTIONS" && req.url === '/') { res.writeHead(204, "Нет содержимого", { «контроль доступа-разрешить-происхождение»: происхождение, "access-control-allow-methods": "GET, POST, PUT, DELETE, OPTIONS", "access-control-allow-headers": "тип содержимого, принять", "контроль доступа-макс-возраст": 10, "длина контента": 0 }); вар requestBodyBuffer = []; req.on("данные", функция(кусок) { requestBodyBuffer.push(кусок); }) req.on("конец", function() { вар requestBody = requestBodyBuffer.join(""); вар obj = JSON.parse(requestBody); if(obj.hasOwnProperty('username') && obj.hasOwnProperty('пароль')) { console.log(obj.username); console.log(obj.пароль); } }) } }).слушать(443);
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Jquery»