如何解决JSON 响应中的特殊字符未在 IE 中解析
我在 js 文件中使用以下代码从 servlet 获取响应,如下所示:
代码如下:
function(response){
$("#city").attr("disabled",false);
var select = $('#cityList');
select.find('option').remove();
var parsedObject = JSON.parse(response);
for(var city in parsedObject){
$('<option>').val(parsedObject[city].cityName).text(parsedObject[city].cityName).appendTo(select);}}
在 Internet Explorer 中,我在行中收到一条错误消息,指出“无效字符”: var parsedObject = JSON.parse(response);
检查响应后,我注意到城市名称导致问题的对象: {"countryId":0,"stateId":0,"cityId":4046,"cityName":"Belle Vall�}
正确的城市名称是 Belle Vallée。 IE 似乎不允许解析这个城市名称,因此,下拉列表中没有显示城市值。
在谷歌浏览器中,我确实看到了所有城市值,但是,上述城市名称没有正确显示,如下所示:
我遇到了一个解决方案,可以在标题中添加以下代码以允许 chrome 正确显示特殊字符,但它对我不起作用。
下面的代码正在servlet端执行:
这是我的 ajax 调用新函数的样子:
function changeState(){
var state = $("input#province").val();
$.ajax({
type: "GET",url : 'LocationServlet',dataType : "json",contentType: "application/json; charset=utf-8",data : {"stateName": state},success : function(response){
$("#city").attr("disabled",false);
var select = $('#cityList');
select.find('option').remove();
var parsedObject = JSON.parse(response);
for(var city in parsedObject){
$('<option>').val(parsedObject[city].cityName).text(parsedObject[city].cityName).appendTo(select);
}
}
});
}
解决方法
添加
apiVersion: argoproj.io/v1alpha1
kind: Workflow
metadata:
generateName: switch-
spec:
entrypoint: pick
arguments:
parameters:
- name: json
templates:
- name: pick
steps:
- - name: parse
template: parse
- - name: t1
when: "{{steps.parse.outputs.result}} == a"
templateRef:
name: t1
template: whalesay-template
- name: t2
when: "{{steps.parse.outputs.result}} == b"
templateRef:
name: t2
template: whalesay-template
- name: parse
container:
image: jorgeandrada/alpine-jq
command: [sh,-c]
env:
- name: JSON
value: "{{workflow.parameters.json}}"
args: [echo "$JSON" | jq -j '.test']
如果您的响应来自 ajax 调用。只需检查您的 ajax 调用的内容类型。
jq
,
您收到的响应似乎已被解析。 而不是线: var parsedObject = JSON.parse(response);
尝试使用作为解析对象接收的“响应”。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。