ie8 ajax访问不了https,ie8不支持https协议的api接口么
如圖 ie8 并沒有你這個問題
---------補充,別說ie8了,ie5我都跑通了---------
前端代碼如下
var $dom = $("#root");
$.ajax({
url: 'https://localhost:3000/demo/api/sayHi',
dataType:"json",
data:{name:"jack"},
type: 'post',
success: function(res){
$dom.text(res.data);
},
error: function(err){
$dom.text('錯誤'+err.toString());
}
})
后端代碼如下,用nodejs實現的,其他語言也行,反正接口能返回東西就行
const express = require("express");
const app = express();
const fs = require("fs");
//讀取ssl的key
const privateKey = fs.readFileSync('./private.pem', 'utf8');
//讀取ssl的證書
const certificate = fs.readFileSync('./file.crt', 'utf8');
//裝箱
const credentials = { key: privateKey, cert: certificate };
//https的server
const SSLServer = require("https").createServer(credentials, app);
const router = express.Router();
const bodyParser = require("body-parser");
// parse application/x-www-form-urlencoded
app.use(bodyParser.urlencoded({ extended: false }));
// parse application/json
app.use(bodyParser.json());
//子路由
app.use("/demo", router);
/************常規接口開始*************/
//sayHi
router.post("/api/sayHi", (req, res) => {
const { name } = req.body;
res.json({code:0,message:"success",data:"hi,"+name})
});
/************常規接口結束*************/
//托管靜態資源
app.use("/demo", express.static('static'));
//404處理
app.use(function (req, res, next) {
res.setHeader("Content-Type", "text/html;charset=utf-8");
res.status(404).sendFile(__dirname + "/static/404.html");
});
//其它錯誤處理如500
app.use(function (err, req, res, next) {
if (err) {
console.log(err.stack.toString());
res.setHeader("Content-Type", "text/plain;charset=utf-8");
res.status(500).send('服務器大姨媽了!
servers is broken');
}
});
SSLServer.listen("3000", function () {
console.log("https服務器已啟動");
});
以下截圖為我上面貼的代碼以表證據
-----------結論/推理------------
你上面所說的同一個接口 一個http成功一個https不成功
那要取決于你訪問的這種網頁是什么協議 如果你網頁訪問的地址是http的 你去訪問一個https的 多半瀏覽器會阻止的
這句話可能比較拗口,見諒,我文字表述能力不強。。你自己意會一下吧
總結
以上是生活随笔為你收集整理的ie8 ajax访问不了https,ie8不支持https协议的api接口么的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 华为什么手机用的鸿蒙系统,华为2020年
- 下一篇: client中周期性边界_FLUENT创