我无法在 IE11 中执行此 AJAX 调用。我有一些下拉菜单显示汽车类型(制造商和型号)。当我选择雪铁龙时,问题就来了。它应该向我显示模型的类型,但它什么也没显示。我猜这与 ë
字母有关,但我无法让这个脚本工作。
IE 11 为 Citroën 编写了以下内容:Citroñ n
。我的网站标题中确实有 UFT-8,它在 Firefox、Chrome 和 Edge 中运行良好。有人能看出为什么吗?
$('#make').change(function(){
$.post( "../ajaxmodelcar?model="+this.value, function( data ) {
$('#model').html(data);
});
});
最佳答案
您需要先对值进行编码,然后再将其发送到 URL 中。您可以使用 encodeURIComponent()
自行执行此操作:
$('#make').change(function(){
$.post('../ajaxmodelcar?model=' + encodeURIComponent(this.value), function(data) {
$('#model').html(data);
});
});
或者最好您可以向 $.post
的 data
属性提供一个对象,jQuery 将为您对其进行编码:
$('#make').change(function(){
$.post('../ajaxmodelcar', { model: this.value }, function(data) {
$('#model').html(data);
});
});
关于jquery - ajaxcall中的特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37675315/