使用Laravel将jQuery AJAX请求发送到HTTP,然后选择2
我有一个相对简单的Laravel应用程序,它具有一个包含标记选择元素的HTML表单。select元素通过select2库得到增强。这些标记是通过XMLHttpRequest获取的。我收到了,我在那里收到的错误与我的生产机器上的错误相同: […]已通过HTTPS加载,但请求了不安全的XMLHttpRequest终结点“”。此请求已被阻止;内容必须通过HTTPS提供使用Laravel将jQuery AJAX请求发送到HTTP,然后选择2,jquery,ajax,laravel,https,select2,Jquery,Ajax,Laravel,Https,Select2,我有一个相对简单的Laravel应用程序,它具有一个包含标记选择元素的HTML表单。select元素通过select2库得到增强。这些标记是通过XMLHttpRequest获取的。我收到了,我在那里收到的错误与我的生产机器上的错误相同: […]已通过HTTPS加载,但请求了不安全的XMLHttpRequest终结点“”。此请求已被阻止;内容必须通过HTTPS提供 正如您在fiddle中看到的,ajax url包含https,并且包含表单的页面也通过https提供服务。url也会产生结果:例如。我
正如您在fiddle中看到的,ajax url包含https,并且包含表单的页面也通过https提供服务。url也会产生结果:例如。我做错了什么?解决了这个问题。需要修改该vhost的Apache配置。SSL指令只为主域加载,而不是为该子域加载。如果您在控制台中检查,您可以看到请求将转到
http://
协议,而不是https://
,因此,正如您在代码中看到的错误,ajax调用将转到https
资源代码所说的那样,但是控制台是国王:那么,我从哪里开始调试呢?即使请求通过http
发送,我的服务器也会被配置为重定向到https
。嘿@mazedlx,尝试使用laravel中的安全中间件并让我们知道结果。见:
$('#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
};
})
};
}
}
});