ajaxcall中的特殊字符

时间:2016-06-07 09:20:35

标签: jquery ajax

我无法在IE11中使用此AJAX调用。我有一些显示汽车类型的下拉列表(制造商和型号)。当我选择雪铁龙时会出现问题。它应该向我展示模型的类型,但它没有显示任何内容。我想它与ë字母有关,但我不能让这个脚本工作。

IE 11为雪铁龙写道:Citroà « n。我在网站的标题中有UFT-8,它在Firefox,Chrome和Edge中运行良好。谁能明白为什么?

$('#make').change(function(){
    $.post( "../ajaxmodelcar?model="+this.value, function( data ) {         
        $('#model').html(data);             
    });         
});

1 个答案:

答案 0 :(得分:2)

您需要在将值发送到URL之前对其进行编码。您可以使用encodeURIComponent()

自行完成此操作
$('#make').change(function(){
    $.post('../ajaxmodelcar?model=' + encodeURIComponent(this.value), function(data) {         
        $('#model').html(data);             
    });         
});

或者最好你可以为data的{​​{1}}属性提供一个对象,jQuery会为你编码:

$.post