jQuery AJAX 使用 Laravel 和 Select2 向 HTTP 发送 HTTPS 请求
jQuery AJAX Request to HTTPS getting served to HTTP with Laravel and Select2
我有一个相对简单的 Laravel 应用程序,它具有一个包含标签 select 元素的 HTML 表单。 select 元素通过 select2 库得到增强。标签是通过 XMLHttpRequest 获取的。我有 created a fiddle,我收到的错误与我的生产机器上的错误相同:
[...]was loaded over HTTPS, but requested an insecure XMLHttpRequest endpoint 'http://blog.mazedlx.net/tags?term=asd'. This request has been blocked; the content must be served over HTTPS.
$('#tags_id').select2({
minimumInputLength: 2,
tags: true,
tokenSeparators: [','],
ajax: {
url: 'https://blog.mazedlx.net/tags/',
type: 'GET',
dataType: 'json',
data: function (params) {
var queryParameters = {
term: params.term
}
return queryParameters;
},
processResults: function (data) {
return {
results: $.map(data, function (item) {
return {
text: item.tag,
id: item.id
};
})
};
}
}
});
正如您在 fiddle 中看到的那样,ajax url 包含 https,并且包含表单的页面也通过 https 提供。 url 也会产生结果:例如https://blog.mazedlx.net/tags?term=php。我做错了什么?
解决了。需要为该虚拟主机修改我的 Apache conf。只为主域加载的 SSL 指令,而不为该子域加载。
我有一个相对简单的 Laravel 应用程序,它具有一个包含标签 select 元素的 HTML 表单。 select 元素通过 select2 库得到增强。标签是通过 XMLHttpRequest 获取的。我有 created a fiddle,我收到的错误与我的生产机器上的错误相同:
[...]was loaded over HTTPS, but requested an insecure XMLHttpRequest endpoint 'http://blog.mazedlx.net/tags?term=asd'. This request has been blocked; the content must be served over HTTPS.
$('#tags_id').select2({
minimumInputLength: 2,
tags: true,
tokenSeparators: [','],
ajax: {
url: 'https://blog.mazedlx.net/tags/',
type: 'GET',
dataType: 'json',
data: function (params) {
var queryParameters = {
term: params.term
}
return queryParameters;
},
processResults: function (data) {
return {
results: $.map(data, function (item) {
return {
text: item.tag,
id: item.id
};
})
};
}
}
});
正如您在 fiddle 中看到的那样,ajax url 包含 https,并且包含表单的页面也通过 https 提供。 url 也会产生结果:例如https://blog.mazedlx.net/tags?term=php。我做错了什么?
解决了。需要为该虚拟主机修改我的 Apache conf。只为主域加载的 SSL 指令,而不为该子域加载。